IyBNZXNhamVsZSDubiBsaW1iYSByb23ibuMgcGVudHJ1IHBhY2hldHVsIG9wY29kZXMKIyBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgRXVnZW4gSG9hbmNhIDxldWdlbmhAdXJiYW4tZ3JhZngucm8+LCAyMDAzCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IG9wY29kZXMgMi4xNHJlbDAzMDcxMlxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDMtMDctMTEgMTM6NTYrMDkzMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNy0yMSAxNjo1MyswMzAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEV1Z2VuIEhvYW5jYSA8ZXVnZW5oQHVyYmFuLWdyYWZ4LnJvPlxuIgoiTGFuZ3VhZ2UtVGVhbTogUm9tYW5pYW4gPHRyYW5zbGF0aW9uLXRlYW0tcm9AbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgoiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTJcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IGFscGhhLW9wYy5jOjMzNQptc2dpZCAiYnJhbmNoIG9wZXJhbmQgdW5hbGlnbmVkIgptc2dzdHIgInJhbXVy4yBvcGVyYW5kIG5lYWxpbmlhdOMiCgojOiBhbHBoYS1vcGMuYzozNTggYWxwaGEtb3BjLmM6MzgwCm1zZ2lkICJqdW1wIGhpbnQgdW5hbGlnbmVkIgptc2dzdHIgInN1Z2VzdGllIHNhbHQoanVtcCkgbmVhbGluaWF0IgoKIzogYXJjLWRpcy5jOjUyCm1zZ2lkICJJbGxlZ2FsIGxpbW0gcmVmZXJlbmNlIGluIGxhc3QgaW5zdHJ1Y3Rpb24hXG4iCm1zZ3N0ciAicmVmZXJpbv7jIGxpbW0gaWxlZ2Fs4yDubiB1bHRpbWEgaW5zdHJ1Y/5pdW5lIVxuIgoKIzogYXJtLWRpcy5jOjU1NAptc2dpZCAiPGlsbGVnYWwgcHJlY2lzaW9uPiIKbXNnc3RyICI8cHJlY2l6aWUgaWxlZ2Fs4z4iCgojOiBhcm0tZGlzLmM6MTE2MgojLCBjLWZvcm1hdAptc2dpZCAiVW5yZWNvZ25pc2VkIHJlZ2lzdGVyIG5hbWUgc2V0OiAlc1xuIgptc2dzdHIgIlNldGFyZSBudW1lIHJlZ2lzdHJ1IG5lY3Vub3NjdXTjOiAlc1xuIgoKIzogYXJtLWRpcy5jOjExNjkKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXNlZCBkaXNhc3NlbWJsZXIgb3B0aW9uOiAlc1xuIgptc2dzdHIgIk9w/ml1bmUgZGV6YXNhbWJsb3IgbmVjdW5zb2N1dOM6ICVzXG4iCgojOiBhcm0tZGlzLmM6MTM0Mwptc2dpZCAiIgoiXG4iCiJUaGUgZm9sbG93aW5nIEFSTSBzcGVjaWZpYyBkaXNhc3NlbWJsZXIgb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciB1c2Ugd2l0aFxuIgoidGhlIC1NIHN3aXRjaDpcbiIKbXNnc3RyICIiCiJcbiIKIk9w/ml1bmlsZSBBUk0gZGUgZGV6YXNhbWJsb3Igc3BlY2lmaWNlIHVybeN0b2FyZSBzdW50IHBlcm1pc2UgY3UgZm9sb3NpcmVhXG4iCiJzd2l0Y2gtdWx1aSAtTTpcbiIKCiM6IGF2ci1kaXMuYzoxMTcgYXZyLWRpcy5jOjEyNwptc2dpZCAidW5kZWZpbmVkIgptc2dzdHIgIm5lZGVmaW5pdCjjKSIKCiM6IGF2ci1kaXMuYzoxNzkKbXNnaWQgIkludGVybmFsIGRpc2Fzc2VtYmxlciBlcnJvciIKbXNnc3RyICJFcm9hcmUgaW50ZXJu4yBkZSBkZXphc2FtYmxvciIKCiM6IGF2ci1kaXMuYzoyMjcKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gY29uc3RyYWludCBgJWMnIgptc2dzdHIgImNvbnN0cuJuZ2VyZSBuZWN1bm9zY3V04yBgJWMnIgoKIzogY2dlbi1hc20uYzozNDggZnIzMC1pYmxkLmM6MTk1IGZydi1pYmxkLmM6MTk1IGlwMmstaWJsZC5jOjE5NQojOiBpcTIwMDAtaWJsZC5jOjE5NSBtMzJyLWlibGQuYzoxOTUgb3BlbnJpc2MtaWJsZC5jOjE5NSB4c3Rvcm15MTYtaWJsZC5jOjE5NQojLCBjLWZvcm1hdAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsZCBub3QgYmV0d2VlbiAlbGQgYW5kICVsZCkiCm1zZ3N0ciAib3BlcmFuZCDubiBhZmFyYSBpbnRlcnZhbHVsdWkgKCVsZCBudSBlc3RlIO5udHJlICVsZCC6aSAlbGQpIgoKIzogY2dlbi1hc20uYzozNjkKIywgYy1mb3JtYXQKbXNnaWQgIm9wZXJhbmQgb3V0IG9mIHJhbmdlICglbHUgbm90IGJldHdlZW4gJWx1IGFuZCAlbHUpIgptc2dzdHIgIm9wZXJhbmQg7m4gYWZhcmEgaW50ZXJ2YWx1bHVpICglbHUgbnUgZXN0ZSDubnRyZSAlbHUgumkgJWx1KSIKCiM6IGQzMHYtZGlzLmM6MzEyCiMsIGMtZm9ybWF0Cm1zZ2lkICI8dW5rbm93biByZWdpc3RlciAlZD4iCm1zZ3N0ciAiPHJlZ2lzdHJ1IG5lY3Vub3NjdXQgJWQ+IgoKIy4gQ2FuJ3QgaGFwcGVuLgojOiBkaXMtYnVmLmM6NTcKIywgYy1mb3JtYXQKbXNnaWQgIlVua25vd24gZXJyb3IgJWRcbiIKbXNnc3RyICJFcm9hcmUgbmVjdW5vc2N1dOMgJWRcbiIKCiM6IGRpcy1idWYuYzo2MgojLCBjLWZvcm1hdAptc2dpZCAiQWRkcmVzcyAweCV4IGlzIG91dCBvZiBib3VuZHMuXG4iCm1zZ3N0ciAiQWRyZXNhIDB4JXggZXN0ZSBwZXN0ZSBsaW1pdGUgKG91dCBvZiBib3VuZHMpLlxuIgoKIzogZnIzMC1hc20uYzozMjMgZnJ2LWFzbS5jOjYyNiBpcDJrLWFzbS5jOjU3NCBpcTIwMDAtYXNtLmM6NDYwIG0zMnItYXNtLmM6MzI1CiM6IG9wZW5yaXNjLWFzbS5jOjI2MSB4c3Rvcm15MTYtYXNtLmM6Mjg0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgcGFyc2luZy5cbiIKbXNnc3RyICJD4m1wIG5lY3Vub3NjdXQgJWQg7m4gYW5hbGl64yhwYXJzaW5nKS5cbiIKCiM6IGZyMzAtYXNtLmM6MzczIGZydi1hc20uYzo2NzYgaXAyay1hc20uYzo2MjQgaXEyMDAwLWFzbS5jOjUxMCBtMzJyLWFzbS5jOjM3NQojOiBvcGVucmlzYy1hc20uYzozMTEgeHN0b3JteTE2LWFzbS5jOjMzNAptc2dpZCAibWlzc2luZyBtbmVtb25pYyBpbiBzeW50YXggc3RyaW5nIgptc2dzdHIgIm1uZW1vbmlj4yBsaXBz4yDubiBzaW50YXjjIgoKIy4gV2UgY291bGRuJ3QgcGFyc2UgaXQuCiM6IGZyMzAtYXNtLmM6NTA5IGZyMzAtYXNtLmM6NTEzIGZyMzAtYXNtLmM6NjAwIGZyMzAtYXNtLmM6NzAyIGZydi1hc20uYzo4MTIKIzogZnJ2LWFzbS5jOjgxNiBmcnYtYXNtLmM6OTAzIGZydi1hc20uYzoxMDA1IGlwMmstYXNtLmM6NzYwIGlwMmstYXNtLmM6NzY0CiM6IGlwMmstYXNtLmM6ODUxIGlwMmstYXNtLmM6OTUzIGlxMjAwMC1hc20uYzo2NDYgaXEyMDAwLWFzbS5jOjY1MAojOiBpcTIwMDAtYXNtLmM6NzM3IGlxMjAwMC1hc20uYzo4MzkgbTMyci1hc20uYzo1MTEgbTMyci1hc20uYzo1MTUKIzogbTMyci1hc20uYzo2MDIgbTMyci1hc20uYzo3MDQgb3BlbnJpc2MtYXNtLmM6NDQ3IG9wZW5yaXNjLWFzbS5jOjQ1MQojOiBvcGVucmlzYy1hc20uYzo1Mzggb3BlbnJpc2MtYXNtLmM6NjQwIHhzdG9ybXkxNi1hc20uYzo0NzAKIzogeHN0b3JteTE2LWFzbS5jOjQ3NCB4c3Rvcm15MTYtYXNtLmM6NTYxIHhzdG9ybXkxNi1hc20uYzo2NjMKbXNnaWQgInVucmVjb2duaXplZCBpbnN0cnVjdGlvbiIKbXNnc3RyICJpbnN0cnVj/ml1bmUgbmVjdW5vc2N1dOMiCgojOiBmcjMwLWFzbS5jOjU1NiBmcnYtYXNtLmM6ODU5IGlwMmstYXNtLmM6ODA3IGlxMjAwMC1hc20uYzo2OTMgbTMyci1hc20uYzo1NTgKIzogb3BlbnJpc2MtYXNtLmM6NDk0IHhzdG9ybXkxNi1hc20uYzo1MTcKIywgYy1mb3JtYXQKbXNnaWQgInN5bnRheCBlcnJvciAoZXhwZWN0ZWQgY2hhciBgJWMnLCBmb3VuZCBgJWMnKSIKbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yAoIHNlIGG6dGVwdGEgJWMnLCBzLWEgcHJpbWl0IGAlYycpIgoKIzogZnIzMC1hc20uYzo1NjYgZnJ2LWFzbS5jOjg2OSBpcDJrLWFzbS5jOjgxNyBpcTIwMDAtYXNtLmM6NzAzIG0zMnItYXNtLmM6NTY4CiM6IG9wZW5yaXNjLWFzbS5jOjUwNCB4c3Rvcm15MTYtYXNtLmM6NTI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW50YXggZXJyb3IgKGV4cGVjdGVkIGNoYXIgYCVjJywgZm91bmQgZW5kIG9mIGluc3RydWN0aW9uKSIKbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yAocy1hIGG6dGVwdGF0IGNoYXIgYCVjJyBzLWEgcHJpbWl0IHNm4nK6aXQgZGUgaW5zdHJ1Y/5pdW5lKSIKCiM6IGZyMzAtYXNtLmM6NTk0IGZydi1hc20uYzo4OTcgaXAyay1hc20uYzo4NDUgaXEyMDAwLWFzbS5jOjczMSBtMzJyLWFzbS5jOjU5NgojOiBvcGVucmlzYy1hc20uYzo1MzIgeHN0b3JteTE2LWFzbS5jOjU1NQptc2dpZCAianVuayBhdCBlbmQgb2YgbGluZSIKbXNnc3RyICJyZXN0dXJpKGp1bmspIGxhIHNm4nK6aXQgZGUgbGluaWUiCgojOiBmcjMwLWFzbS5jOjcwMSBmcnYtYXNtLmM6MTAwNCBpcDJrLWFzbS5jOjk1MiBpcTIwMDAtYXNtLmM6ODM4CiM6IG0zMnItYXNtLmM6NzAzIG9wZW5yaXNjLWFzbS5jOjYzOSB4c3Rvcm15MTYtYXNtLmM6NjYyCm1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybSBvZiBpbnN0cnVjdGlvbiIKbXNnc3RyICJmb3Jt4yBkZSBpbnN0cnVj/ml1bmUgbmVjdW5vc2N1dOMiCgojOiBmcjMwLWFzbS5jOjcxMyBmcnYtYXNtLmM6MTAxNiBpcDJrLWFzbS5jOjk2NCBpcTIwMDAtYXNtLmM6ODUwCiM6IG0zMnItYXNtLmM6NzE1IG9wZW5yaXNjLWFzbS5jOjY1MSB4c3Rvcm15MTYtYXNtLmM6Njc0CiMsIGMtZm9ybWF0Cm1zZ2lkICJiYWQgaW5zdHJ1Y3Rpb24gYCUuNTBzLi4uJyIKbXNnc3RyICJpbnN0cnVj/ml1bmUgZ3Jluml04yBgYCUuNTBzLi4uJyIKCiM6IGZyMzAtYXNtLmM6NzE2IGZydi1hc20uYzoxMDE5IGlwMmstYXNtLmM6OTY3IGlxMjAwMC1hc20uYzo4NTMKIzogbTMyci1hc20uYzo3MTggb3BlbnJpc2MtYXNtLmM6NjU0IHhzdG9ybXkxNi1hc20uYzo2NzcKIywgYy1mb3JtYXQKbXNnaWQgImJhZCBpbnN0cnVjdGlvbiBgJS41MHMnIgptc2dzdHIgImluc3RydWP+aXVuZSBncmW6aXTjIGAlLjUwcyciCgojLiBEZWZhdWx0IHRleHQgdG8gcHJpbnQgaWYgYW4gaW5zdHJ1Y3Rpb24gaXNuJ3QgcmVjb2duaXplZC4KIzogZnIzMC1kaXMuYzo0MSBmcnYtZGlzLmM6NDEgaXAyay1kaXMuYzo0MSBpcTIwMDAtZGlzLmM6NDEgbTMyci1kaXMuYzo0MQojOiBtbWl4LWRpcy5jOjI4NCBvcGVucmlzYy1kaXMuYzo0MSB4c3Rvcm15MTYtZGlzLmM6NDEKbXNnaWQgIip1bmtub3duKiIKbXNnc3RyICIqbmVjdW5vc2N1dCjjKSoiCgojOiBmcjMwLWRpcy5jOjMyMCBmcnYtZGlzLmM6MzcxIGlwMmstZGlzLmM6MzI5IGlxMjAwMC1kaXMuYzoxOTIgbTMyci1kaXMuYzoyNTEKIzogb3BlbnJpc2MtZGlzLmM6MTM4IHhzdG9ybXkxNi1kaXMuYzoxNzEKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBwcmludGluZyBpbnNuLlxuIgptc2dzdHIgIkPibXAgbmVjdW5vc2N1dCAlZCDubiB0aXDjcmlyZSBpbnNuLlxuIgoKIzogZnIzMC1pYmxkLmM6MTY2IGZydi1pYmxkLmM6MTY2IGlwMmstaWJsZC5jOjE2NiBpcTIwMDAtaWJsZC5jOjE2NgojOiBtMzJyLWlibGQuYzoxNjYgb3BlbnJpc2MtaWJsZC5jOjE2NiB4c3Rvcm15MTYtaWJsZC5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsZCBub3QgYmV0d2VlbiAlbGQgYW5kICVsdSkiCm1zZ3N0ciAib3BlcmFuZCDubiBhZmFyYSBsaW1pdGVsb3IgKCVsZCBudSBlc3RlIO5udHJlICVsZCC6aSAlbHUpIgoKIzogZnIzMC1pYmxkLmM6MTc5IGZydi1pYmxkLmM6MTc5IGlwMmstaWJsZC5jOjE3OSBpcTIwMDAtaWJsZC5jOjE3OQojOiBtMzJyLWlibGQuYzoxNzkgb3BlbnJpc2MtaWJsZC5jOjE3OSB4c3Rvcm15MTYtaWJsZC5jOjE3OQojLCBjLWZvcm1hdAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKCVsdSBub3QgYmV0d2VlbiAwIGFuZCAlbHUpIgptc2dzdHIgIm9wZXJhbmQg7m4gYWZhcmEgbGltaXRlbG9yICglbHUgbnUgZXN0ZSDubnRyZSAwILppICVsdSkiCgojOiBmcjMwLWlibGQuYzo3MzAgZnJ2LWlibGQuYzo4MjkgaXAyay1pYmxkLmM6NjA3IGlxMjAwMC1pYmxkLmM6NzEzCiM6IG0zMnItaWJsZC5jOjY1OSBvcGVucmlzYy1pYmxkLmM6NjMzIHhzdG9ybXkxNi1pYmxkLmM6Njc4CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgYnVpbGRpbmcgaW5zbi5cbiIKbXNnc3RyICJD4m1wIG5lY3Vub3NjdXQgJWQg7m4gY29uc3RydWlyZShidWlsZGluZykgaW5zbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjkzNyBmcnYtaWJsZC5jOjExMjEgaXAyay1pYmxkLmM6Njg0IGlxMjAwMC1pYmxkLmM6ODkwCiM6IG0zMnItaWJsZC5jOjc5MiBvcGVucmlzYy1pYmxkLmM6NzM1IHhzdG9ybXkxNi1pYmxkLmM6ODI2CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZGVjb2RpbmcgaW5zbi5cbiIKbXNnc3RyICJD4m1wIG5lY3Vub3NjdXQgJWQg7m4gZGVjb2RhcmUgaW5zbi5cbiIKCiM6IGZyMzAtaWJsZC5jOjEwODYgZnJ2LWlibGQuYzoxMzc1IGlwMmstaWJsZC5jOjc2MSBpcTIwMDAtaWJsZC5jOjEwMjQKIzogbTMyci1pYmxkLmM6OTAyIG9wZW5yaXNjLWlibGQuYzo4MTUgeHN0b3JteTE2LWlibGQuYzo5MzkKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBnZXR0aW5nIGludCBvcGVyYW5kLlxuIgptc2dzdHIgIkPibXAgbmVjdW5vc2N1dCAlZCDubiBwcmVsdWFyZSBvcGVyYW5kIGludC5cbiIKCiM6IGZyMzAtaWJsZC5jOjEyMTUgZnJ2LWlibGQuYzoxNjA5IGlwMmstaWJsZC5jOjgxOCBpcTIwMDAtaWJsZC5jOjExMzgKIzogbTMyci1pYmxkLmM6OTkyIG9wZW5yaXNjLWlibGQuYzo4NzUgeHN0b3JteTE2LWlibGQuYzoxMDMyCiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgZ2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJD4m1wIG5lY3Vub3NjdXQgJWQg7m4gcHJlbHVhcmUgb3BlcmFuZCB2bWEuXG4iCgojOiBmcjMwLWlibGQuYzoxMzQ5IGZydi1pYmxkLmM6MTg1MiBpcDJrLWlibGQuYzo4ODAgaXEyMDAwLWlibGQuYzoxMjYxCiM6IG0zMnItaWJsZC5jOjEwOTAgb3BlbnJpc2MtaWJsZC5jOjk0NCB4c3Rvcm15MTYtaWJsZC5jOjExMzQKIywgYy1mb3JtYXQKbXNnaWQgIlVucmVjb2duaXplZCBmaWVsZCAlZCB3aGlsZSBzZXR0aW5nIGludCBvcGVyYW5kLlxuIgptc2dzdHIgIkPibXAgbmVjdW5vc2N1dCAlZCDubiBzZXRhcmUgb3BlcmFuZCBpbnQuXG4iCgojOiBmcjMwLWlibGQuYzoxNDcxIGZydi1pYmxkLmM6MjA4MyBpcDJrLWlibGQuYzo5MzAgaXEyMDAwLWlibGQuYzoxMzcyCiM6IG0zMnItaWJsZC5jOjExNzYgb3BlbnJpc2MtaWJsZC5jOjEwMDEgeHN0b3JteTE2LWlibGQuYzoxMjI0CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbnJlY29nbml6ZWQgZmllbGQgJWQgd2hpbGUgc2V0dGluZyB2bWEgb3BlcmFuZC5cbiIKbXNnc3RyICJD4m1wIG5lY3Vub3NjdXQgJWQg7m4gc2V0YXJlIG9wZXJhbmQgdm1hLlxuIgoKIzogZnJ2LWFzbS5jOjM2NQptc2dpZCAicmVnaXN0ZXIgbnVtYmVyIG11c3QgYmUgZXZlbiIKbXNnc3RyICJudW3jcnVsIHJlZ2lzdHJ1bHVpIHRyZWJ1aWUgc+MgZmllIHBhciIKCiM6IGg4MzAwLWRpcy5jOjM3NwojLCBjLWZvcm1hdAptc2dpZCAiSG1tbW0gMHgleCIKbXNnc3RyICJIbW1tbSAweCV4IgoKIzogaDgzMDAtZGlzLmM6NzYwCiMsIGMtZm9ybWF0Cm1zZ2lkICJEb24ndCB1bmRlcnN0YW5kIDB4JXggXG4iCm1zZ3N0ciAiTnUg7m7+ZWxlZyAweCV4IFxuIgoKIzogaDg1MDAtZGlzLmM6MTQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW4ndCBjb3BlIHdpdGggaW5zZXJ0ICVkXG4iCm1zZ3N0ciAibnUgZmFjIGZh/uMgbGEgaW5zZXJhcmVhICVkXG4iCgojLiBDb3VsZG4ndCB1bmRlcnN0YW5kIGFueXRoaW5nLgojOiBoODUwMC1kaXMuYzozNTAKIywgYy1mb3JtYXQKbXNnaWQgIiUwMnhcdFx0KnVua25vd24qIgptc2dzdHIgIiUwMnhcdFx0Km5lY3Vub3NjdXQo4ykqIgoKIzogaTM4Ni1kaXMuYzoxNjk5Cm1zZ2lkICI8aW50ZXJuYWwgZGlzYXNzZW1ibGVyIGVycm9yPiIKbXNnc3RyICI8ZXJvYXJlIGludGVybuMgZGUgZGV6YXNhbWJsb3I+IgoKIzogaWE2NC1nZW4uYzoyOTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBFcnJvcjogIgptc2dzdHIgIiVzOiBFcm9hcmU6ICIKCiM6IGlhNjQtZ2VuLmM6MzA4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogV2FybmluZzogIgptc2dzdHIgIiVzOiBBdmVydGlzbWVudDogIgoKIzogaWE2NC1nZW4uYzo0OTQgaWE2NC1nZW4uYzo3MjgKIywgYy1mb3JtYXQKbXNnaWQgIm11bHRpcGxlIG5vdGUgJXMgbm90IGhhbmRsZWRcbiIKbXNnc3RyICJub3RlbGUgbXVsdGlwbGUgJXMgbmVyZXpvbHZhYmlsZShoYW5kbGVkKVxuIgoKIzogaWE2NC1nZW4uYzo2MDUKbXNnaWQgImNhbid0IGZpbmQgaWE2NC1pYy50YmwgZm9yIHJlYWRpbmdcbiIKbXNnc3RyICJudSBwb3QgZ+NzaSBpYTY0LWljLnRibCBwZW50cnUgY2l0aXJlXG4iCgojOiBpYTY0LWdlbi5jOjgxMAojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgZmluZCAlcyBmb3IgcmVhZGluZ1xuIgptc2dzdHIgIm51IHBvdCBn43NpICVzIHBlbnRydSBjaXRpcmVcbiIKCiM6IGlhNjQtZ2VuLmM6MTAzNAojLCBjLWZvcm1hdAptc2dpZCAiIgoibW9zdCByZWNlbnQgZm9ybWF0ICclcydcbiIKImFwcGVhcnMgbW9yZSByZXN0cmljdGl2ZSB0aGFuICclcydcbiIKbXNnc3RyICIiCiJjZWwgbWFpIHJlY2VudCBmb3JtYXQgJXMgXG4iCiJwYXJlIG1haSByZXN0cmljdGl2IGRlY+J0ICclcydcbiIKCiM6IGlhNjQtZ2VuLmM6MTA0NQojLCBjLWZvcm1hdAptc2dpZCAib3ZlcmxhcHBpbmcgZmllbGQgJXMtPiVzXG4iCm1zZ3N0ciAiY+JtcCBzdXByYXB1cyAlcyAtPiAlc1xuIgoKIzogaWE2NC1nZW4uYzoxMjM2CiMsIGMtZm9ybWF0Cm1zZ2lkICJvdmVyd3JpdGluZyBub3RlICVkIHdpdGggbm90ZSAlZCAoSUM6JXMpXG4iCm1zZ3N0ciAic3VwcmFzY3JpZXJlIG5vdGEgJWQgY3Ugbm90YSAlZCAoSUM6JXMpXG4iCgojOiBpYTY0LWdlbi5jOjE0MzUKIywgYy1mb3JtYXQKbXNnaWQgImRvbid0IGtub3cgaG93IHRvIHNwZWNpZnkgJSUgZGVwZW5kZW5jeSAlc1xuIgptc2dzdHIgIm51ILp0aXUgY3VtIHNlIHNwZWNpZmlj4yBkZXBlbmRpbv5lbGUgJSUgJXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ1NwojLCBjLWZvcm1hdAptc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gc3BlY2lmeSAjIGRlcGVuZGVuY3kgJXNcbiIKbXNnc3RyICJudSC6dGl1IGN1bSBzZSBzcGVjaWZpY+MgZGVwZW5kaW7+ZWxlICMgJXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ5NgojLCBjLWZvcm1hdAptc2dpZCAiSUM6JXMgWyVzXSBoYXMgbm8gdGVybWluYWxzIG9yIHN1Yi1jbGFzc2VzXG4iCm1zZ3N0ciAiSUM6JXMgWyVzXSBudSBhcmUgdGVybWluYWxlIHNhdSBzdWJsY2xhc2VcbiIKCiM6IGlhNjQtZ2VuLmM6MTQ5OQojLCBjLWZvcm1hdAptc2dpZCAiSUM6JXMgaGFzIG5vIHRlcm1pbmFscyBvciBzdWItY2xhc3Nlc1xuIgptc2dzdHIgIklDOiVzIG51IGFyZSB0ZXJtaW5hbGUgc2F1IHN1YmNsYXNlXG4iCgojOiBpYTY0LWdlbi5jOjE1MDgKIywgYy1mb3JtYXQKbXNnaWQgIm5vIGluc25zIG1hcHBlZCBkaXJlY3RseSB0byB0ZXJtaW5hbCBJQyAlcyBbJXNdIgptc2dzdHIgIm5pY2kgdW4gaW5zbnMgbWFwYXQgZGlyZWN0IGxhIHRlcm1pbmFsdWwgSUMgJXMgWyVzXSIKCiM6IGlhNjQtZ2VuLmM6MTUxMQojLCBjLWZvcm1hdAptc2dpZCAibm8gaW5zbnMgbWFwcGVkIGRpcmVjdGx5IHRvIHRlcm1pbmFsIElDICVzXG4iCm1zZ3N0ciAibmljaSB1biBpbnNucyBtYXBhdCBkaXJlY3QgbGEgdGVybWluYWx1bCBJQyAlc1xuIgoKIzogaWE2NC1nZW4uYzoxNTIyCiMsIGMtZm9ybWF0Cm1zZ2lkICJjbGFzcyAlcyBpcyBkZWZpbmVkIGJ1dCBub3QgdXNlZFxuIgptc2dzdHIgImNsYXNhICVzIGVzdGUgZGVmaW5pdOMgZGFyIG5lZm9sb3NpdONcbiIKCiM6IGlhNjQtZ2VuLmM6MTUzMwojLCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogcnNyYyAlcyAoJXMpIGhhcyBubyBjaGtzJXNcbiIKbXNnc3RyICJBdmVydGlzbWVudDogcnNyYyAlcyAoJXMpIG51IGFyZSBjaGtzJXNcbiIKCiM6IGlhNjQtZ2VuLmM6MTUzNwojLCBjLWZvcm1hdAptc2dpZCAicnNyYyAlcyAoJXMpIGhhcyBubyByZWdzXG4iCm1zZ3N0ciAicnNyYyAlcyAoJXMpIG51IGFyZW8gcmVnc1xuIgoKIzogaWE2NC1nZW4uYzoyNDM2CiMsIGMtZm9ybWF0Cm1zZ2lkICJJQyBub3RlICVkIGluIG9wY29kZSAlcyAoSUM6JXMpIGNvbmZsaWN0cyB3aXRoIHJlc291cmNlICVzIG5vdGUgJWRcbiIKbXNnc3RyICJOb3RhIElDICVkIGRpbiBvcGNvZGUgJXMgKElDOiVzKSBlIO5uIGNvbmZsaWN0IGN1IHJlc3Vyc2EgJXMgbm90YSAlZFxuIgoKIzogaWE2NC1nZW4uYzoyNDY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJJQyBub3RlICVkIGZvciBvcGNvZGUgJXMgKElDOiVzKSBjb25mbGljdHMgd2l0aCByZXNvdXJjZSAlcyBub3RlICVkXG4iCm1zZ3N0ciAiTm90YSBJQyAlZCBwZW50cnUgb3Bjb2RlICVzIChJQzolcykgZSDubiBjb25mbGljdCBjdSByZXN1cnNhICVzIG5vdGEgJWRcbiIKCiM6IGlhNjQtZ2VuLmM6MjQ3OAojLCBjLWZvcm1hdAptc2dpZCAib3Bjb2RlICVzIGhhcyBubyBjbGFzcyAob3BzICVkICVkICVkKVxuIgptc2dzdHIgIm9wY29kZSAlcyBudSBhcmUgY2xhc+MgKG9wcyAlZCAlZCAlZClcbiIKCiM6IGlhNjQtZ2VuLmM6Mjc4OQojLCBjLWZvcm1hdAptc2dpZCAidW5hYmxlIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gXCIlc1wiLCBlcnJubyA9ICVzXG4iCm1zZ3N0ciAibnUgYW0gcHV0dXQgc2NoaW1iYSBkaXJlY3RvcnVsIO5uIFwiJXNcIiwgZXJybm8gPSAlc1xuIgoKIy4gV2UndmUgYmVlbiBwYXNzZWQgYSB3LiAgUmV0dXJuIHdpdGggYW4gZXJyb3IgbWVzc2FnZSBzbyB0aGF0CiMuIGNnZW4gd2lsbCB0cnkgdGhlIG5leHQgcGFyc2luZyBvcHRpb24uCiM6IGlwMmstYXNtLmM6OTIKbXNnaWQgIlcga2V5d29yZCBpbnZhbGlkIGluIEZSIG9wZXJhbmQgc2xvdC4iCm1zZ3N0ciAiQ3V24m50IGNoZWllIFcgaW52YWxpZHYg7m4gc2xvdHVsIG9wZXJhbmQgRlIuIgoKIy4gSW52YWxpZCBvZmZzZXQgcHJlc2VudC4KIzogaXAyay1hc20uYzoxMjIKbXNnaWQgIm9mZnNldChJUCkgaXMgbm90IGEgdmFsaWQgZm9ybSIKbXNnc3RyICJvZmZzZXR1bChJUCkgbnUgYXJlIGZvcm3jIHZhbGlk4yIKCiMuIEZvdW5kIHNvbWV0aGluZyB0aGVyZSBpbiBmcm9udCBvZiAoRFApIGJ1dCBpdCdzIG91dAojLiBvZiByYW5nZS4KIzogaXAyay1hc20uYzoxNzUKbXNnaWQgIihEUCkgb2Zmc2V0IG91dCBvZiByYW5nZS4iCm1zZ3N0ciAiKERQKSBvZmZzZXQg7m4gYWZhcmEgaW50ZXJ2YWx1bHVpIgoKIy4gRm91bmQgc29tZXRoaW5nIHRoZXJlIGluIGZyb250IG9mIChTUCkgYnV0IGl0J3Mgb3V0CiMuIG9mIHJhbmdlLgojOiBpcDJrLWFzbS5jOjIyMQptc2dpZCAiKFNQKSBvZmZzZXQgb3V0IG9mIHJhbmdlLiIKbXNnc3RyICIoU1ApIG9mZnNldCDubiBhZmFyYSBpbnRlcnZhbHVsdWkiCgojOiBpcDJrLWFzbS5jOjI0MQptc2dpZCAiaWxsZWdhbCB1c2Ugb2YgcGFyZW50aGVzZXMiCm1zZ3N0ciAiRm9sb3NpcmUgaWxlZ2Fs4yBkZSBwYXJhbnRlemUiCgojOiBpcDJrLWFzbS5jOjI0OAptc2dpZCAib3BlcmFuZCBvdXQgb2YgcmFuZ2UgKG5vdCBiZXR3ZWVuIDEgYW5kIDI1NSkiCm1zZ3N0ciAib3BlcmFuZCDubiBhZmFyYSBsaW1pdGVsb3IgKG51IGVzdGUg7m50cmUgMCC6aSAyNTUpIgoKIy4gU29tZXRoaW5nIGlzIHZlcnkgd3JvbmcuIG9waW5kZXggaGFzIHRvIGJlIG9uZSBvZiB0aGUgYWJvdmUuCiM6IGlwMmstYXNtLmM6MjczCm1zZ2lkICJwYXJzZV9hZGRyMTY6IGludmFsaWQgb3BpbmRleC4iCm1zZ3N0ciAicGFyc2VfYWRkcjE2OiBvcGluZGV4IGludmFsaWQuIgoKIzogaXAyay1hc20uYzozNTMKbXNnaWQgIkJ5dGUgYWRkcmVzcyByZXF1aXJlZC4gLSBtdXN0IGJlIGV2ZW4uIgptc2dzdHIgIlNlIG5lY2VzaXTjIGFkcmVz4yBieXRlLiAtdHJlYnVpZSBz4yBmaWUgcGFy4yAoZXZlbikuIgoKIzogaXAyay1hc20uYzozNjIKbXNnaWQgImNnZW5fcGFyc2VfYWRkcmVzcyByZXR1cm5lZCBhIHN5bWJvbC4gTGl0ZXJhbCByZXF1aXJlZC4iCm1zZ3N0ciAiY2dlbl9wYXJzZV9hZGRyZXNzIGEgcmV0dXJuYXQgdW4gc2ltYm9sLiBTZSBuZWNlc2l04yBsaXRlcmFsLiIKCiM6IGlwMmstYXNtLmM6NDIwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlb3BlcmF0b3Igb3BlcmFuZCBpcyBub3QgYSBzeW1ib2wiCm1zZ3N0ciAiJW9wZXJhdG9yIG9wZXJhbmR1bGsgbnUgZXN0ZSB1biBzaW1ib2wiCgojOiBpcDJrLWFzbS5jOjQ3NAptc2dpZCAiQXR0ZW1wdCB0byBmaW5kIGJpdCBpbmRleCBvZiAwIgptc2dzdHIgIlNlIO5uY2VhcmPjIGfjc2lyZWEgYml0dWx1aSBpbmRleCBkZSAwIgoKIzogaXEyMDAwLWFzbS5jOjExMCBpcTIwMDAtYXNtLmM6MTQxCm1zZ2lkICJpbW1lZGlhdGUgdmFsdWUgY2Fubm90IGJlIHJlZ2lzdGVyIgptc2dzdHIgInZhbG9hcmVhIGRpcmVjdOMoaW1tZWRpYXRlKSBudSBwb2F0ZSBmaSDubnJlZ2lzdHJhdOMiCgojOiBpcTIwMDAtYXNtLmM6MTIwIGlxMjAwMC1hc20uYzoxNTEKbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAidmFsb2FyZSBkaXJlY3TjKGltbWVkaWF0ZSkg7m4gYWZhcmEgaW50ZXJ2YWx1bHVpIgoKIzogaXEyMDAwLWFzbS5jOjE4MAptc2dpZCAiMjEtYml0IG9mZnNldCBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAib2Zmc2V0dWwgMjEgYml0IO5uIGFmYXJhIGludGVydmFsdWx1aSIKCiM6IGlxMjAwMC1hc20uYzoyMDUgaXEyMDAwLWFzbS5jOjIzNSBpcTIwMDAtYXNtLmM6MjcyIGlxMjAwMC1hc20uYzozMDUKIzogb3BlbnJpc2MtYXNtLmM6OTYgb3BlbnJpc2MtYXNtLmM6MTU1Cm1zZ2lkICJtaXNzaW5nIGApJyIKbXNnc3RyICJgKScgbGlwc+MiCgojOiBtMTAyMDAtZGlzLmM6MTk5CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duXHQweCUwMngiCm1zZ3N0ciAibmVjdW5vc2N1dCjjKVx0MHglMDJ4IgoKIzogbTEwMjAwLWRpcy5jOjMzOQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDRseCIKbXNnc3RyICJuZWN1bm9zY3V0KOMpXHQweCUwNGx4IgoKIzogbTEwMzAwLWRpcy5jOjc2NgojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93blx0MHglMDR4Igptc2dzdHIgIm5lY3Vub3NjdXQo4ylcdDB4JTA0eCIKCiM6IG02OGstZGlzLmM6NDI5CiMsIGMtZm9ybWF0Cm1zZ2lkICI8aW50ZXJuYWwgZXJyb3IgaW4gb3Bjb2RlIHRhYmxlOiAlcyAlcz5cbiIKbXNnc3RyICI8ZXJvYXJlIGludGVybuMg7m4gdGFiZWwgb3Bjb2RlOiAlcyAlcz5cbiIKCiM6IG02OGstZGlzLmM6MTAwNwojLCBjLWZvcm1hdAptc2dpZCAiPGZ1bmN0aW9uIGNvZGUgJWQ+Igptc2dzdHIgIjxjb2QgZnVuY/5pZSAlZD4iCgojOiBtODhrLWRpcy5jOjc0NgojLCBjLWZvcm1hdAptc2dpZCAiIyA8ZGlzIGVycm9yOiAlMDh4PiIKbXNnc3RyICIjIDxlcm9hcmUgZGV6OiAlMDh4PiIKCiM6IG1pcHMtZGlzLmM6Njk5Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCBpbmNvbXBsZXRlIGV4dGVuc2lvbiBzZXF1ZW5jZSAoKykiCm1zZ3N0ciAiIyBlcm9hcmUgaW50ZXJu4ywgc2VjdmVu/uMgaW5jb21wbGV04yBkZSBleHRlbnNpZSAoKykiCgojOiBtaXBzLWRpcy5jOjc0MgojLCBjLWZvcm1hdAptc2dpZCAiIyBpbnRlcm5hbCBlcnJvciwgdW5kZWZpbmVkIGV4dGVuc2lvbiBzZXF1ZW5jZSAoKyVjKSIKbXNnc3RyICIjIGVyb2FyZSBpbnRlcm7jLCBzZWN2ZW7+4yBkZSBleHRlbnNpZSBuZWRlZmluaXTjICgrJWMpIgoKIzogbWlwcy1kaXMuYzoxMDAwCiMsIGMtZm9ybWF0Cm1zZ2lkICIjIGludGVybmFsIGVycm9yLCB1bmRlZmluZWQgbW9kaWZpZXIoJWMpIgptc2dzdHIgIiMgZXJvYXJlIGludGVybuMsIG1vZGlmaWNhdG9yIG5lZGVmaW5pdCglYykiCgojOiBtaXBzLWRpcy5jOjE3NTEKIywgYy1mb3JtYXQKbXNnaWQgIiMgaW50ZXJuYWwgZGlzYXNzZW1ibGVyIGVycm9yLCB1bnJlY29nbmlzZWQgbW9kaWZpZXIgKCVjKSIKbXNnc3RyICIjIGVyb2FyZSBpbnRlcm7jIGRlIGRlemFzYW1ibG9yLCBtb2RpZmljYXRvciBuZWN1bm9zY3V0ICglYykiCgojOiBtaXBzLWRpcy5jOjE3NjMKbXNnaWQgIiIKIlxuIgoiVGhlIGZvbGxvd2luZyBNSVBTIHNwZWNpZmljIGRpc2Fzc2VtYmxlciBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIHVzZVxuIgoid2l0aCB0aGUgLU0gc3dpdGNoIChtdWx0aXBsZSBvcHRpb25zIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgY29tbWFzKTpcbiIKbXNnc3RyICIiCiJcbiIKIk9w/ml1bmlsZSBNSVBTIGRlIGRlemFzYW1ibG9yIHNwZWNpZmljZSB1cm3jdG9hcmUgc3VudCBwZXJtaXNlIGN1IGZvbG9zaXJlYVxuIgoic3dpdGNoLXVsdWkgLU0gKG9w/ml1bmlsZSBtdWx0aXBsZSB0cmVidWllIHNlcGFyYXRlIHByaW4gdmlyZ3Vs4zpcbiIKCiM6IG1pcHMtZGlzLmM6MTc2Nwptc2dpZCAiIgoiXG4iCiIgIGdwci1uYW1lcz1BQkkgICAgICAgICAgICBQcmludCBHUFIgbmFtZXMgYWNjb3JkaW5nIHRvICBzcGVjaWZpZWQgQUJJLlxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdDogYmFzZWQgb24gYmluYXJ5IGJlaW5nIGRpc2Fzc2VtYmxlZC5cbiIKbXNnc3RyICIiCiJcbiIKIiAgZ3ByLW5hbWVzPUFCSSAgICAgICAgICAgIEFmabplYXrjIG51bWVsZSBHUFIgcG90cml2aXQgQUJJIHNwZWNpZmljYXQuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBJbXBsaWNpdDogYmF6YXQgcGUgYmluYXIgY2UgZXN0ZSBkZXphc2FtYmxhdC5cbiIKCiM6IG1pcHMtZGlzLmM6MTc3MQptc2dpZCAiIgoiXG4iCiIgIGZwci1uYW1lcz1BQkkgICAgICAgICAgICBQcmludCBGUFIgbmFtZXMgYWNjb3JkaW5nIHRvIHNwZWNpZmllZCBBQkkuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBudW1lcmljLlxuIgptc2dzdHIgIiIKIlxuIgoiICBmcHItbmFtZXM9QUJJICAgICAgICAgICAgQWZpumVheuMgbnVtZWxlIEZQUiBwb3RyaXZpdCBBQkkgc3BlY2lmaWNhdC5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIEltcGxpY2l0OiBudW1lcmljLlxuIgoKIzogbWlwcy1kaXMuYzoxNzc1Cm1zZ2lkICIiCiJcbiIKIiAgY3AwLW5hbWVzPUFSQ0ggICAgICAgICAgIFByaW50IENQMCByZWdpc3RlciBuYW1lcyBhY2NvcmRpbmcgdG9cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBhcmNoaXRlY3R1cmUuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBiYXNlZCBvbiBiaW5hcnkgYmVpbmcgZGlzYXNzZW1ibGVkLlxuIgptc2dzdHIgIiIKIlxuIgoiICBjcDAtbmFtZXM9QVJDSCAgICAgICAgICAgQWZpumVheuMgbnVtZWxlIGRlIHJlZ2m6dHJpIENQMCBwb3RyaXZpdFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJoaXRlY3R1cmlpIHNwZWNpZmljZS5cbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgIEltcGxpY2l0OiBiYXphdCBwZSBiaW5hciDubiBkZXphc2FtYmxhcmUuXG4iCgojOiBtaXBzLWRpcy5jOjE3ODAKbXNnaWQgIiIKIlxuIgoiICBod3ItbmFtZXM9QVJDSCAgICAgICAgICAgUHJpbnQgSFdSIG5hbWVzIGFjY29yZGluZyB0byBzcGVjaWZpZWQgXG4iCiJcdFx0XHQgICBhcmNoaXRlY3R1cmUuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0OiBiYXNlZCBvbiBiaW5hcnkgYmVpbmcgZGlzYXNzZW1ibGVkLlxuIgptc2dzdHIgIiIKIlxuIgoiICBod3ItbmFtZXM9QVJDSCAgICAgICAgICAgQWZpumVheuMgbnVtZWxlIEhXUiBwb3RyaXZpdCBhcmhpdGVjdHVyaWkgXG4iCiJcdFx0XHQgICBzcGVjaWZpY2UuXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBJbXBsaWNpdDogYmF6YXQgcGUgYmluYXIg7m4gZGV6YXNhbWJsYXJlLlxuIgoKIzogbWlwcy1kaXMuYzoxNzg1Cm1zZ2lkICIiCiJcbiIKIiAgcmVnLW5hbWVzPUFCSSAgICAgICAgICAgIFByaW50IEdQUiBhbmQgRlBSIG5hbWVzIGFjY29yZGluZyB0b1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIEFCSS5cbiIKbXNnc3RyICIiCiJcbiIKIiAgcmVnLW5hbWVzPUFCSSAgICAgICAgICAgIEFmabplYXrjIG51bWVsZSBHUFIgumkgRlBSIHBvdHJpdml0aVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgQUJJIHNwZWNpZmljYXQuXG4iCgojOiBtaXBzLWRpcy5jOjE3ODkKbXNnaWQgIiIKIlxuIgoiICByZWctbmFtZXM9QVJDSCAgICAgICAgICAgUHJpbnQgQ1AwIHJlZ2lzdGVyIGFuZCBIV1IgbmFtZXMgYWNjb3JkaW5nIHRvXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZWQgYXJjaGl0ZWN0dXJlLlxuIgptc2dzdHIgIiIKIlxuIgoiICByZWctbmFtZXM9QVJDSCAgICAgICAgICAgQWZpumVheuMgcmVnabp0cmlpIENQMCC6aSBudW1lbGUgSFdSIHBvdHJpdml0XG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmhpdGVjdHVyaWkgc3BlY2lmaWNlLlxuIgoKIzogbWlwcy1kaXMuYzoxNzkzCm1zZ2lkICIiCiJcbiIKIiAgRm9yIHRoZSBvcHRpb25zIGFib3ZlLCB0aGUgZm9sbG93aW5nIHZhbHVlcyBhcmUgc3VwcG9ydGVkIGZvciBcIkFCSVwiOlxuIgoiICAgIgptc2dzdHIgIiIKIlxuIgoiICBQZW50cnUgb3D+aXVuaWxlIGRlIG1haSBzdXMsIHVybWF0b2FyZWxlIHZhbG9yaSBzdW50IHN1cG9ydGF0ZSBwZW50cnUgXCJBQklcIjpcbiIKIiAgICIKCiM6IG1pcHMtZGlzLmM6MTc5OCBtaXBzLWRpcy5jOjE4MDYgbWlwcy1kaXMuYzoxODA4Cm1zZ2lkICJcbiIKbXNnc3RyICJcbiIKCiM6IG1pcHMtZGlzLmM6MTgwMAptc2dpZCAiIgoiXG4iCiIgIEZvciB0aGUgb3B0aW9ucyBhYm92ZSwgVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHN1cHBvcnRlZCBmb3IgXCJBUkNIXCI6XG4iCiIgICAiCm1zZ3N0ciAiIgoiXG4iCiIgIFBlbnRydSBvcP5pdW5pbGUgZGUgbWFpIHN1cywgdXJtYXRvYXJlbGUgdmFsb3JpIHN1bnQgc3Vwb3J0YXRlIHBlbnRydSBcIkFSQ0hcIjpcbiIKIiAgICIKCiM6IG1taXgtZGlzLmM6MzQKIywgYy1mb3JtYXQKbXNnaWQgIkJhZCBjYXNlICVkICglcykgaW4gJXM6JWRcbiIKbXNnc3RyICJDYXogZ3Jluml0ICVkICglcykgaW4gJXM6ICVkXG4iCgojOiBtbWl4LWRpcy5jOjQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICJJbnRlcm5hbDogTm9uLWRlYnVnZ2VkIGNvZGUgKHRlc3QtY2FzZSBtaXNzaW5nKTogJXM6JWQiCm1zZ3N0ciAiSW50ZXJuOiBjb2Qgbm9uIGRlYnVnZ2VkIChjYXogdGVzdCBsaXBz4ykgJXM6JWQiCgojOiBtbWl4LWRpcy5jOjUzCm1zZ2lkICIodW5rbm93bikiCm1zZ3N0ciAiKG5lY3Vub3NjdXQpIgoKIzogbW1peC1kaXMuYzo1MTkKIywgYy1mb3JtYXQKbXNnaWQgIip1bmtub3duIG9wZXJhbmRzIHR5cGU6ICVkKiIKbXNnc3RyICIqdGlwIG5lY3Vub3NjdXQgZGUgb3BlcmFuemk6ICVkKiIKCiMuIEkgYW5kIFogYXJlIG91dHB1dCBvcGVyYW5kcyBhbmQgY2FuYHQgYmUgaW1tZWRpYXRlCiMuICogQSBpcyBhbiBhZGRyZXNzIGFuZCB3ZSBjYW5gdCBoYXZlIHRoZSBhZGRyZXNzIG9mCiMuICogYW4gaW1tZWRpYXRlIGVpdGhlci4gV2UgZG9uJ3Qga25vdyBob3cgbXVjaCB0byBpbmNyZWFzZQojLiAqIGFvZmZzZXRwIGJ5IHNpbmNlIHdoYXRldmVyIGdlbmVyYXRlZCB0aGlzIGlzIGJyb2tlbgojLiAqIGFueXdheSEKIy4KIzogbnMzMmstZGlzLmM6NjMxCm1zZ2lkICIkPHVuZGVmaW5lZD4iCm1zZ3N0ciAiJDxuZWRlZmluaXQ+IgoKIzogcHBjLW9wYy5jOjc4MSBwcGMtb3BjLmM6ODA5Cm1zZ2lkICJpbnZhbGlkIGNvbmRpdGlvbmFsIG9wdGlvbiIKbXNnc3RyICJvcP5pdW5lIGNvbmRp/mlvbmFs4yBpbnZhbGlk4yIKCiM6IHBwYy1vcGMuYzo4MTEKbXNnaWQgImF0dGVtcHQgdG8gc2V0IHkgYml0IHdoZW4gdXNpbmcgKyBvciAtIG1vZGlmaWVyIgptc2dzdHIgInNlIO5uY2VhcmPjIHNldGFyZWEgYml0dWx1aSB5IO5uIGZvbG9zaXJlYSBtb2RpZmljYXRvcmlsb3IgKyBzYXUgLSIKCiM6IHBwYy1vcGMuYzo4NDAKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiAxNiIKbXNnc3RyICJvZmZzZXR1bCBudSBlc3RlIG11bHRpcGx1IGRlIDE2IgoKIzogcHBjLW9wYy5jOjg2MAptc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDIiCm1zZ3N0ciAib2Zmc2V0dWwgbnUgZXN0ZSBtdWx0aXBsdSBkZSAyIgoKIzogcHBjLW9wYy5jOjg2Mgptc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiA2MiIKbXNnc3RyICJvZmZzZXQgbWFpIG1hcmUgZGVj4nQgNjIiCgojOiBwcGMtb3BjLmM6ODgxIHBwYy1vcGMuYzo5MjcgcHBjLW9wYy5jOjk3NQptc2dpZCAib2Zmc2V0IG5vdCBhIG11bHRpcGxlIG9mIDQiCm1zZ3N0ciAib2Zmc2V0dWwgbnUgZXN0ZSBtdWx0aXBsdSBkZSA0IgoKIzogcHBjLW9wYy5jOjg4Mwptc2dpZCAib2Zmc2V0IGdyZWF0ZXIgdGhhbiAxMjQiCm1zZ3N0ciAib2Zmc2V0IG1haSBtYXJlIGRlY+J0IDEyNCIKCiM6IHBwYy1vcGMuYzo5MDIKbXNnaWQgIm9mZnNldCBub3QgYSBtdWx0aXBsZSBvZiA4Igptc2dzdHIgIm9mZnNldHVsIG51IGVzdGUgbXVsdGlwbHUgZGUgOCIKCiM6IHBwYy1vcGMuYzo5MDQKbXNnaWQgIm9mZnNldCBncmVhdGVyIHRoYW4gMjQ4Igptc2dzdHIgIm9mZnNldCBtYWkgbWFyZSBkZSAyNDgiCgojOiBwcGMtb3BjLmM6OTUwCm1zZ2lkICJvZmZzZXQgbm90IGJldHdlZW4gLTIwNDggYW5kIDIwNDciCm1zZ3N0ciAib2Zmc2V0dWwgbnUgZXN0ZSDubnRyZSAtMjA0OCC6aSAyMDQ3IgoKIzogcHBjLW9wYy5jOjk3Mwptc2dpZCAib2Zmc2V0IG5vdCBiZXR3ZWVuIC04MTkyIGFuZCA4MTkxIgptc2dzdHIgIm9mZnNldHVsIG51IGVzdGUg7m50cmUgLTgxOTIgumkgODE5MSIKCiM6IHBwYy1vcGMuYzoxMDExCm1zZ2lkICJpZ25vcmluZyBpbnZhbGlkIG1mY3IgbWFzayIKbXNnc3RyICJzZSBpZ25vcuMgbWFzY+MgbWZjciBpbnZhbGlk4yIKCiM6IHBwYy1vcGMuYzoxMDU5Cm1zZ2lkICJpZ25vcmluZyBsZWFzdCBzaWduaWZpY2FudCBiaXRzIGluIGJyYW5jaCBvZmZzZXQiCm1zZ3N0ciAic2UgaWdub3LjIGNlaSBtYWkgcHX+aW4gc2VtbmlmaWNhbv5pIGJp/mkg7m4gb2Zmc2V0dWwgcmFtdXJpaShicmFuY2gpIgoKIzogcHBjLW9wYy5jOjEwOTAgcHBjLW9wYy5jOjExMjUKbXNnaWQgImlsbGVnYWwgYml0bWFzayIKbXNnc3RyICJiaXRtYXNrIGlsZWdhbCIKCiM6IHBwYy1vcGMuYzoxMTkyCm1zZ2lkICJ2YWx1ZSBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAidmFsb2FyZSDubiBhZmFyYSBpbnRlcnZhbHVsdWkiCgojOiBwcGMtb3BjLmM6MTI2Mgptc2dpZCAiaW5kZXggcmVnaXN0ZXIgaW4gbG9hZCByYW5nZSIKbXNnc3RyICJyZWdpc3RydSBpbmRleCDubiBpbnRlcnZhbCBkZSDubmPjcmNhcmUiCgojOiBwcGMtb3BjLmM6MTI3OQptc2dpZCAic291cmNlIGFuZCB0YXJnZXQgcmVnaXN0ZXIgb3BlcmFuZHMgbXVzdCBiZSBkaWZmZXJlbnQiCm1zZ3N0ciAib3BlcmFuemlpIHJlZ2m6dHJpIHN1cnPjILppIGRlc3RpbmH+aWUgdHJlYnVpZSBz4yBmaWUgZGlmZXJp/mkiCgojOiBwcGMtb3BjLmM6MTI5NAptc2dpZCAiaW52YWxpZCByZWdpc3RlciBvcGVyYW5kIHdoZW4gdXBkYXRpbmciCm1zZ3N0ciAicmVnaXN0cnUgZGUgb3BlcmFuZCBpbnZhbGlkIO5uIHVwZGF0YXJlIgoKIzogcHBjLW9wYy5jOjEzMzUKbXNnaWQgInRhcmdldCByZWdpc3RlciBvcGVyYW5kIG11c3QgYmUgZXZlbiIKbXNnc3RyICJvcGVyYW5kdWwgcmVnaXN0cnUgZGVzdGluYf5pZSB0cmVidWllIHPjIGZpZSBwYXIiCgojOiBwcGMtb3BjLmM6MTM1MAptc2dpZCAic291cmNlIHJlZ2lzdGVyIG9wZXJhbmQgbXVzdCBiZSBldmVuIgptc2dzdHIgIm9wZXJhbmR1bCByZWdpc3RydSBzdXJz4yB0cmVidWllIHPjIGZpZSBwYXIiCgojLiBNYXJrIGFzIG5vbi12YWxpZCBpbnN0cnVjdGlvbi4KIzogc3BhcmMtZGlzLmM6NzYwCm1zZ2lkICJ1bmtub3duIgptc2dzdHIgIm5lY3Vub3NjdXQo4ykiCgojOiBzcGFyYy1kaXMuYzo4MzUKIywgYy1mb3JtYXQKbXNnaWQgIkludGVybmFsIGVycm9yOiAgYmFkIHNwYXJjLW9wY29kZS5oOiBcIiVzXCIsICUjLjhseCwgJSMuOGx4XG4iCm1zZ3N0ciAiRXJvYXJlIGludGVybuM6ICBvcGNvZGUuaCBzcGFyYyBncmW6aXQ6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKCiM6IHNwYXJjLWRpcy5jOjg0NgojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6IGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiLCAlIy44bHgsICUjLjhseFxuIgptc2dzdHIgIkVyb2FyZSBpbnRlcm7jOiBvcGNvZGUuaCBzcGFyYyBncmW6aXQ6IFwiJXNcIiwgJSMuOGx4LCAlIy44bHhcbiIKCiM6IHNwYXJjLWRpcy5jOjg5NQojLCBjLWZvcm1hdAptc2dpZCAiSW50ZXJuYWwgZXJyb3I6IGJhZCBzcGFyYy1vcGNvZGUuaDogXCIlc1wiID09IFwiJXNcIlxuIgptc2dzdHIgIkVyb2FyZSBpbnRlcm7jOiAgb3Bjb2RlLmggc3BhcmMgZ3Jluml0OiBcIiVzXCIgPT0gXCIlc1wiXG4iCgojOiB2ODUwLWRpcy5jOjIyMQojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBvcGVyYW5kIHNoaWZ0OiAleFxuIgptc2dzdHIgInNjaGltYmFyZShzaGlmdCkgZGUgb2JlcmFuZCBuZWN1bm9zY3V04zogJXhcbiIKCiM6IHY4NTAtZGlzLmM6MjMzCiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIHBvcCByZWc6ICVkXG4iCm1zZ3N0ciAicG9wIHJlZyBuZWN1bm9zY3V0OiAlZFxuIgoKIy4gVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGluc2VydCBhbmQgZXh0cmFjdCBjb21wbGljYXRlZCBvcGVyYW5kcy4KIy4gTm90ZTogVGhlcmUgaXMgYSBjb25zcGlyYWN5IGJldHdlZW4gdGhlc2UgZnVuY3Rpb25zIGFuZAojLiB2ODUwX2luc2VydF9vcGVyYW5kKCkgaW4gZ2FzL2NvbmZpZy90Yy12ODUwLmMuICBFcnJvciBtZXNzYWdlcwojLiBjb250YWluaW5nIHRoZSBzdHJpbmcgJ291dCBvZiByYW5nZScgd2lsbCBiZSBpZ25vcmVkIHVubGVzcyBhCiMuIHNwZWNpZmljIGNvbW1hbmQgbGluZSBvcHRpb24gaXMgZ2l2ZW4gdG8gR0FTLgojOiB2ODUwLW9wYy5jOjY4Cm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGluIHJhbmdlIGFuZCBpcyBub3QgYWxpZ25lZCIKbXNnc3RyICJ2YWxvYXJlYSBkZXBsYXPjcmlpIO5uIGFmYXJhIGludGVydmFsdWx1aSC6aSBuZWFsaW5pYXTjIgoKIzogdjg1MC1vcGMuYzo2OQptc2dpZCAiZGlzcGxhY2VtZW50IHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJkZXBsYXNhcmUiCgojOiB2ODUwLW9wYy5jOjcwCm1zZ2lkICJkaXNwbGFjZW1lbnQgdmFsdWUgaXMgbm90IGFsaWduZWQiCm1zZ3N0ciAidmFsb2FyZWEgZGVwbGFz43JpaSBudSBlc3RlIGFsaW5pYXTjIgoKIzogdjg1MC1vcGMuYzo3Mgptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIGlzIG91dCBvZiByYW5nZSIKbXNnc3RyICJ2YWxvYXJlIGRpcmVjdOMoaW1tZWRpYXRlKSDubiBhZmFyYSBpbnRlcnZhbHVsdWkiCgojOiB2ODUwLW9wYy5jOjgzCm1zZ2lkICJicmFuY2ggdmFsdWUgbm90IGluIHJhbmdlIGFuZCB0byBvZGQgb2Zmc2V0Igptc2dzdHIgInZhbG9hcmUgcmFtdXLjKGJyYW5jaCkg7m4gYWZhcmEgaW50ZXJ2YWx1bHVpILppIGxhIG9mZnNldCBpbXBhciIKCiM6IHY4NTAtb3BjLmM6ODUgdjg1MC1vcGMuYzoxMTcKbXNnaWQgImJyYW5jaCB2YWx1ZSBvdXQgb2YgcmFuZ2UiCm1zZ3N0ciAidmFsb2FyZSByYW11cuMoYnJhbmNoKSDubiBhZmFyYSBpbnRlcnZhbHVsdWkiCgojOiB2ODUwLW9wYy5jOjg4IHY4NTAtb3BjLmM6MTIwCm1zZ2lkICJicmFuY2ggdG8gb2RkIG9mZnNldCIKbXNnc3RyICJyYW11cuMoYnJhbmNoKSBsYSBvZmZzZXQgaW1wYXIiCgojOiB2ODUwLW9wYy5jOjExNQptc2dpZCAiYnJhbmNoIHZhbHVlIG5vdCBpbiByYW5nZSBhbmQgdG8gYW4gb2RkIG9mZnNldCIKbXNnc3RyICJ2YWxvYXJlIHJhbXVy4yhicmFuY2gpIO5uIGFmYXJhIGludGVydmFsdWx1aSC6aSBsYSBvZmZzZXQgaW1wYXIiCgojOiB2ODUwLW9wYy5jOjM0Ngptc2dpZCAiaW52YWxpZCByZWdpc3RlciBmb3Igc3RhY2sgYWRqdXN0bWVudCIKbXNnc3RyICJyZWdpc3RydSBpbnZhbGlkIHBlbnRydSBtb2RpZmljYXJlIHN0aXbjIgoKIzogdjg1MC1vcGMuYzozNzAKbXNnaWQgImltbWVkaWF0ZSB2YWx1ZSBub3QgaW4gcmFuZ2UgYW5kIG5vdCBldmVuIgptc2dzdHIgInZhbG9hcmUgZGlyZWN04yhpbW1lZGlhdGUpIO5uIGFmYXJhIGludGVydmFsdWx1aSC6aSBpbXBhcuMiCgojOiB2ODUwLW9wYy5jOjM3NQptc2dpZCAiaW1tZWRpYXRlIHZhbHVlIG11c3QgYmUgZXZlbiIKbXNnc3RyICJ2YWxvYXJlYSBkaXJlY3TjKGltbWVkaWF0ZSkgdHJlYnVpZSBz4yBmaWUgcGFy4yIKCiM6IHhzdG9ybXkxNi1hc20uYzo3Ngptc2dpZCAiQmFkIHJlZ2lzdGVyIGluIHByZWluY3JlbWVudCIKbXNnc3RyICJSZWdpc3RydSBncmW6aXQg7m4gcHJlaW5jcmVtZW50YXJlIgoKIzogeHN0b3JteTE2LWFzbS5jOjgxCm1zZ2lkICJCYWQgcmVnaXN0ZXIgaW4gcG9zdGluY3JlbWVudCIKbXNnc3RyICJSZWdpc3RydSBncmW6aXQg7m4gcG9zdGluY3JlbWVudGFyZSIKCiM6IHhzdG9ybXkxNi1hc20uYzo4Mwptc2dpZCAiQmFkIHJlZ2lzdGVyIG5hbWUiCm1zZ3N0ciAiTnVtZSByZWdpc3RydSBncmW6aXQiCgojOiB4c3Rvcm15MTYtYXNtLmM6ODcKbXNnaWQgIkxhYmVsIGNvbmZsaWN0cyB3aXRoIHJlZ2lzdGVyIG5hbWUiCm1zZ3N0ciAiRXRpY2hldGEobGFiZWwpIHNlIGFmbOMg7m4gY29uZmxpY3QgY3UgbnVtZWxlIGRlIHJlZ2lzdHJ1IgoKIzogeHN0b3JteTE2LWFzbS5jOjkxCm1zZ2lkICJMYWJlbCBjb25mbGljdHMgd2l0aCBgUngnIgptc2dzdHIgIkV0aWNoZXRhKGxhYmVsKSBzZSBhZmzjIO5uIGNvbmZsaWN0IGN1IGBSeCciCgojOiB4c3Rvcm15MTYtYXNtLmM6OTMKbXNnaWQgIkJhZCBpbW1lZGlhdGUgZXhwcmVzc2lvbiIKbXNnc3RyICJFeHByZXNpZSBkaXJlY3TjKGltbWVkaWF0ZSkgZ3Jluml04yIKCiM6IHhzdG9ybXkxNi1hc20uYzoxMTUKbXNnaWQgIk5vIHJlbG9jYXRpb24gZm9yIHNtYWxsIGltbWVkaWF0ZSIKbXNnc3RyICJOaWNpIG8gcmVsb2NhcmUgcGVudHJ1IG1haSBtaWMgZGlyZWN04yhpbW1lZGlhdGUpIgoKIzogeHN0b3JteTE2LWFzbS5jOjEyNQptc2dpZCAiU21hbGwgb3BlcmFuZCB3YXMgbm90IGFuIGltbWVkaWF0ZSBudW1iZXIiCm1zZ3N0ciAiT3BlcmFuZHVsIHJlZHVzIG51IGEgZm9zdCB1biBudW3jciBkaXJlY3QoaW1tZWRpYXRlKSIKCiM6IHhzdG9ybXkxNi1hc20uYzoxNjQKbXNnaWQgIk9wZXJhbmQgaXMgbm90IGEgc3ltYm9sIgptc2dzdHIgIk9wZXJhbmR1bCBudSBlc3RlIHNpbWJvbCIKCiM6IHhzdG9ybXkxNi1hc20uYzoxNzIKbXNnaWQgIlN5bnRheCBlcnJvcjogTm8gdHJhaWxpbmcgJyknIgptc2dzdHIgIkVyb2FyZSBkZSBzaW50YXjjOk51IGV4aXN04yAnKSciCg==