IyBIZWJyZXcgbWVzc2FnZXMgZm9yIEdOVSBNYWtlCiMgQ29weXJpZ2h0IChDKSAyMDAyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIEVsaSBaYXJldHNraWkgPGVsaXpAaXMuZWx0YS5jby5pbD4sIDIwMDIuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IG1ha2UgMy43OS4xXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLW1ha2VAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDQtMDEgMDE6NDAtMDUwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wMy0zMCAyMTozMyswMzAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEVsaSBaYXJldHNraWkgPGVsaXpAZ251Lm9yZz5cbiIKIkxhbmd1YWdlLVRlYW06IEhlYnJldyA8ZWxpekBnbnUub3JnPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS04XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojOiBhci5jOjUzCiMsIGMtZm9ybWF0Cm1zZ2lkICJhdHRlbXB0IHRvIHVzZSB1bnN1cHBvcnRlZCBmZWF0dXJlOiBgJXMnIgptc2dzdHIgIvrr7vrwIOTw8Ong+SBgJXMnIOTw5ev64SD55e7p+SDv5enx8CIKCiM6IGFyLmM6MTM3Cm1zZ2lkICJ0b3VjaCBhcmNoaXZlIG1lbWJlciBpcyBub3QgYXZhaWxhYmxlIG9uIFZNUyIKbXNnc3RyICJWTVMg+uv48u7hIO/l6ev44OEg+OHgIOz5IOTy+S/q6fjg+iDp5fDp+eEg5Ovp7vog7+ngIgoKIzogYXIuYzoxNjgKIywgYy1mb3JtYXQKbXNnaWQgInRvdWNoOiBBcmNoaXZlIGAlcycgZG9lcyBub3QgZXhpc3QiCm1zZ3N0ciAi7enp9yDl8OngIGAlcycg7+Xp6/jgIPXh5fcgOnRvdWNoIgoKIzogYXIuYzoxNzEKIywgYy1mb3JtYXQKbXNnaWQgInRvdWNoOiBgJXMnIGlzIG5vdCBhIHZhbGlkIGFyY2hpdmUiCm1zZ3N0ciAi7+n3+iDv5enr+OAg9eHl9yDl8OngIGAlcycgOnRvdWNoIgoKIzogYXIuYzoxNzgKIywgYy1mb3JtYXQKbXNnaWQgInRvdWNoOiBNZW1iZXIgYCVzJyBkb2VzIG5vdCBleGlzdCBpbiBgJXMnIgptc2dzdHIgImAlcycg+OHgIOzp6+4g5fDp4CBgJXMnIO/l6ev44CA6dG91Y2giCgojOiBhci5jOjE4NQojLCBjLWZvcm1hdAptc2dpZCAidG91Y2g6IEJhZCByZXR1cm4gY29kZSBmcm9tIGFyX21lbWJlcl90b3VjaCBvbiBgJXMnIgptc2dzdHIgImAlcycg+OXh8iDv6ff6LeDsIOPl9yDk+Onm5+QgYXJfbWVtYmVyX3RvdWNoIDp0b3VjaCIKCiM6IGFyc2Nhbi5jOjY5CiMsIGMtZm9ybWF0Cm1zZ2lkICJsYnIkc2V0X21vZHVsZSBmYWlsZWQgdG8gZXh0cmFjdCBtb2R1bGUgaW5mbywgc3RhdHVzID0gJWQiCm1zZ3N0ciAiJWQg8eXo6PEgLGxpYiRyc2V0X21vZHVsZSDpXCLyIOzl4+XuIOzyIPLj6e4g+vTp7PnhIO/l7PnrIgoKIzogYXJzY2FuLmM6MTU0CiMsIGMtZm9ybWF0Cm1zZ2lkICJsYnIkaW5pX2NvbnRyb2wgZmFpbGVkIHdpdGggc3RhdHVzID0gJWQiCm1zZ3N0ciAiJWQg8eXo6PEg7fIg7Pnr8CBsYnIkaW5pX2NvbnRyb2wiCgojOiBhcnNjYW4uYzoxNjUKIywgYy1mb3JtYXQKbXNnaWQgInVuYWJsZSB0byBvcGVuIGxpYnJhcnkgYCVzJyB0byBsb29rdXAgbWVtYmVyIGAlcyciCm1zZ3N0ciAiKGAlcycg5On49PEpIGAlcycg+OHgIPjl4fIg5On49PEg+ufp+vThIOTs9/oiCgojICBUaGVzZSBhcmUgbm90IHRyYW5zbGF0ZWQsIHNpbmNlIHRoZXkgYmVsb25nIHRvIGEgdGVzdCBwcm9ncmFtLgojOiBhcnNjYW4uYzo4MjUKIywgYy1mb3JtYXQKbXNnaWQgIk1lbWJlciBgJXMnJXM6ICVsZCBieXRlcyBhdCAlbGQgKCVsZCkuXG4iCm1zZ3N0ciAiTWVtYmVyIGAlcyclczogJWxkIGJ5dGVzIGF0ICVsZCAoJWxkKS5cbiIKCiM6IGFyc2Nhbi5jOjgyNgptc2dpZCAiIChuYW1lIG1pZ2h0IGJlIHRydW5jYXRlZCkiCm1zZ3N0ciAiIChuYW1lIG1pZ2h0IGJlIHRydW5jYXRlZCkiCgojOiBhcnNjYW4uYzo4MjgKIywgYy1mb3JtYXQKbXNnaWQgIiAgRGF0ZSAlcyIKbXNnc3RyICIgIERhdGUgJXMiCgojOiBhcnNjYW4uYzo4MjkKIywgYy1mb3JtYXQKbXNnaWQgIiAgdWlkID0gJWQsIGdpZCA9ICVkLCBtb2RlID0gMCVvLlxuIgptc2dzdHIgIiAgdWlkID0gJWQsIGdpZCA9ICVkLCBtb2RlID0gMCVvLlxuIgoKIzogY29tbWFuZHMuYzo0MjIKbXNnaWQgIioqKiBCcmVhay5cbiIKbXNnc3RyICIqKiogQnJlYWsuICoqKlxuIgoKIzogY29tbWFuZHMuYzo1NDUKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBbJXNdIEFyY2hpdmUgbWVtYmVyIGAlcycgbWF5IGJlIGJvZ3VzOyBub3QgZGVsZXRlZCIKbXNnc3RyICIqKiogWyVzXSD35+7p6SDg7CA77+n3+i3p+uzhIPrl6eTsIOzl7PIgYCVzJyDv5enr+OAg+OHgICoqKiIKCiM6IGNvbW1hbmRzLmM6NTQ4CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogQXJjaGl2ZSBtZW1iZXIgYCVzJyBtYXkgYmUgYm9ndXM7IG5vdCBkZWxldGVkIgptc2dzdHIgIioqKiD35+7p6SDg7CA77+n3+i3p+uzhIPrl6eTsIOzl7PIgYCVzJyDv5enr+OAg+OHgICoqKiIKCiM6IGNvbW1hbmRzLmM6NTYxCiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBEZWxldGluZyBmaWxlIGAlcyciCm1zZ3N0ciAiKioqIFslc10gYCVzJyD14eX3IPfn5e4gKioqIgoKIzogY29tbWFuZHMuYzo1NjMKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBEZWxldGluZyBmaWxlIGAlcyciCm1zZ3N0ciAiKioqIGAlcycg9eHl9yD35+XuICoqKiIKCiMgIEkgZGVjaWRlZCB0byByZXRhaW4gdGhlIEVuZ2xpc2ggdGV4dCBvZiB3aGF0IE1ha2UgcHJpbnRzIHVuZGVyIC1wLAojICBzaW5jZSBpdCBpcyBub3RvcmlvdXNseSBoYXJkIHRvIGdldCByaWdodCBpbiByaWdodC10by1sZWZ0IGxhbmd1YWdlcywKIyAgYW5kIGJlY2F1c2UgaXRzIHByaW1hcnkgdXNlIGlzIGZvciBwcm9ncmFtbWVycyB3aG8gd3JpdGUgTWFrZWZpbGVzLgojOiBjb21tYW5kcy5jOjU5OQptc2dpZCAiIyAgY29tbWFuZHMgdG8gZXhlY3V0ZSIKbXNnc3RyICIjICBjb21tYW5kcyB0byBleGVjdXRlIgoKIzogY29tbWFuZHMuYzo2MDIKbXNnaWQgIiAoYnVpbHQtaW4pOiIKbXNnc3RyICIgKGJ1aWx0LWluKToiCgojOiBjb21tYW5kcy5jOjYwNAojLCBjLWZvcm1hdAptc2dpZCAiIChmcm9tIGAlcycsIGxpbmUgJWx1KTpcbiIKbXNnc3RyICIgKGZyb20gYCVzJywgbGluZSAlbHUpOlxuIgoKIzogZGlyLmM6OTgzCm1zZ2lkICIiCiJcbiIKIiMgRGlyZWN0b3JpZXNcbiIKbXNnc3RyICIiCiJcbiIKIiMgRGlyZWN0b3JpZXNcbiIKCiM6IGRpci5jOjk5NQojLCBjLWZvcm1hdAptc2dpZCAiIyAlczogY291bGQgbm90IGJlIHN0YXQnZC5cbiIKbXNnc3RyICIjICVzOiBjb3VsZCBub3QgYmUgc3RhdCdkLlxuIgoKIzogZGlyLmM6OTk5CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICVzIChrZXkgJXMsIG10aW1lICVkKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKbXNnc3RyICIjICVzIChrZXkgJXMsIG10aW1lICVkKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKCiM6IGRpci5jOjEwMDMKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGRldmljZSAlZCwgaW5vZGUgWyVkLCVkLCVkXSk6IGNvdWxkIG5vdCBiZSBvcGVuZWQuXG4iCm1zZ3N0ciAiIyAlcyAoZGV2aWNlICVkLCBpbm9kZSBbJWQsJWQsJWRdKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKCiM6IGRpci5jOjEwMDgKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGRldmljZSAlbGQsIGlub2RlICVsZCk6IGNvdWxkIG5vdCBiZSBvcGVuZWQuXG4iCm1zZ3N0ciAiIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogY291bGQgbm90IGJlIG9wZW5lZC5cbiIKCiM6IGRpci5jOjEwMzUKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGtleSAlcywgbXRpbWUgJWQpOiAiCm1zZ3N0ciAiIyAlcyAoa2V5ICVzLCBtdGltZSAlZCk6ICIKCiM6IGRpci5jOjEwMzkKIywgYy1mb3JtYXQKbXNnaWQgIiMgJXMgKGRldmljZSAlZCwgaW5vZGUgWyVkLCVkLCVkXSk6ICIKbXNnc3RyICIjICVzIChkZXZpY2UgJWQsIGlub2RlIFslZCwlZCwlZF0pOiAiCgojOiBkaXIuYzoxMDQ0CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICVzIChkZXZpY2UgJWxkLCBpbm9kZSAlbGQpOiAiCm1zZ3N0ciAiIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogIgoKIzogZGlyLmM6MTA1MCBkaXIuYzoxMDcxCm1zZ2lkICJObyIKbXNnc3RyICJObyIKCiM6IGRpci5jOjEwNTMgZGlyLmM6MTA3NAptc2dpZCAiIGZpbGVzLCAiCm1zZ3N0ciAiIGZpbGVzLCAiCgojOiBkaXIuYzoxMDU1IGRpci5jOjEwNzYKbXNnaWQgIm5vIgptc2dzdHIgIm5vIgoKIzogZGlyLmM6MTA1OAptc2dpZCAiIGltcG9zc2liaWxpdGllcyIKbXNnc3RyICIgaW1wb3NzaWJpbGl0aWVzIgoKIzogZGlyLmM6MTA2Mgptc2dpZCAiIHNvIGZhci4iCm1zZ3N0ciAiIHNvIGZhci4iCgojOiBkaXIuYzoxMDc5CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIGltcG9zc2liaWxpdGllcyBpbiAlbHUgZGlyZWN0b3JpZXMuXG4iCm1zZ3N0ciAiIGltcG9zc2liaWxpdGllcyBpbiAldSBkaXJlY3Rvcmllcy5cbiIKCiM6IGV4cGFuZC5jOjEyOAojLCBjLWZvcm1hdAptc2dpZCAiUmVjdXJzaXZlIHZhcmlhYmxlIGAlcycgcmVmZXJlbmNlcyBpdHNlbGYgKGV2ZW50dWFsbHkpIgptc2dzdHIgIij44eMg7Pkg5fTl8eEpIOXu9vLsIOTp6fD05Owg7fjl4iBgJXMnIOnh6fH45ff4IOTw+vnuIgoKIzogZXhwYW5kLmM6MjY2Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgdmFyaWFibGUgcmVmZXJlbmNlIgptc2dzdHIgIuTr7OTrIPru6en68e4g5PDp4CDk8Pr57uwg5Onp8PTkIgoKIzogZmlsZS5jOjI3MAojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgd2VyZSBzcGVjaWZpZWQgZm9yIGZpbGUgYCVzJyBhdCAlczolbHUsIgptc2dzdHIgIixgJXMnIPXh5fcg+OXh8iD65ePl9/Qg5fD66fAgJXMg9eHl9+EgJWx1IOT45fnhIgoKIzogZmlsZS5jOjI3NQojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgZm9yIGZpbGUgYCVzJyB3ZXJlIGZvdW5kIGJ5IGltcGxpY2l0IHJ1bGUgc2VhcmNoLCIKbXNnc3RyICIs7en5+OX07i3p+uzhIO3p7Ozr4SD55fTp5yDpXCLyIOXg9u7wIGAlcycg9eHl9yD45eHyIPrl4+X39CIKCiM6IGZpbGUuYzoyNzgKIywgYy1mb3JtYXQKbXNnaWQgImJ1dCBgJXMnIGlzIG5vdyBjb25zaWRlcmVkIHRoZSBzYW1lIGZpbGUgYXMgYCVzJy4iCm1zZ3N0ciAiLvXh5fcg5frl4Owg5PryIO3p4fnn8CBgJXMnIO/k5SBgJXMnIO/kIO3s5eDlIgoKIzogZmlsZS5jOjI4MQojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgZm9yIGAlcycgd2lsbCBiZSBpZ25vcmVkIGluIGZhdm9yIG9mIHRob3NlIGZvciBgJXMnLiIKbXNnc3RyICIuYCVzJyD45eHyIOXs4CDs8iD65fTp4/IgYCVzJyD45eHyIPrl4+X39CIKCiM6IGZpbGUuYzozMDEKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IHJlbmFtZSBzaW5nbGUtY29sb24gYCVzJyB0byBkb3VibGUtY29sb24gYCVzJyIKbXNnc3RyICJgJXMnIO3p4+Pl4SDt6en65ePl9/DuIGAlcycg7ens5fTrIO3p6frl4+X38Owg6uX05Owg7/rp8CDg7CIKCiM6IGZpbGUuYzozMDYKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IHJlbmFtZSBkb3VibGUtY29sb24gYCVzJyB0byBzaW5nbGUtY29sb24gYCVzJyIKbXNnc3RyICJgJXMnIO3p7OX06yDt6en65ePl9/DuIGAlcycg7enj4+XhIO3p6frl4+X38Owg6uX05Owg7/rp8CDg7CIKCiM6IGZpbGUuYzozODEKIywgYy1mb3JtYXQKbXNnaWQgIioqKiBEZWxldGluZyBpbnRlcm1lZGlhdGUgZmlsZSBgJXMnIgptc2dzdHIgIioqKiBgJXMnIO3p6fDp4SD14eX3IPfn5e4gKioqIgoKIzogZmlsZS5jOjM4NQojLCBmdXp6eQptc2dpZCAiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iCm1zZ3N0ciAiKioqIGAlcycg7enp8OnhIPXh5fcg9+fl7iAqKioiCgojOiBmaWxlLmM6NzgxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogVGltZXN0YW1wIG91dCBvZiByYW5nZTsgc3Vic3RpdHV0aW5nICVzIgptc2dzdHIgIvj65e7kIO3l5/rsIPXl5+4g5PDp5PkgLCVzIOz5IO/u5uQg+u7p+ucg+uAgJXMt4SDz6ezn7iIKCiM6IGZpbGUuYzo3ODIKbXNnaWQgIkN1cnJlbnQgdGltZSIKbXNnc3RyICL66/jy7iDv5fL5IgoKIyAgU2VlIHRoZSBjb21tZW50IGFib3ZlIGFib3V0IHRyYW5zbGF0aW9ucyBvZiB0ZXh0IHByaW50ZWQgdW5kZXIgLXAuCiM6IGZpbGUuYzo4ODEKbXNnaWQgIiMgTm90IGEgdGFyZ2V0OiIKbXNnc3RyICIjIE5vdCBhIHRhcmdldDoiCgojOiBmaWxlLmM6OTAzCm1zZ2lkICIjICBQcmVjaW91cyBmaWxlIChwcmVyZXF1aXNpdGUgb2YgLlBSRUNJT1VTKS4iCm1zZ3N0ciAiIyAgUHJlY2lvdXMgZmlsZSAocHJlcmVxdWlzaXRlIG9mIC5QUkVDSU9VUykuIgoKIzogZmlsZS5jOjkwNQptc2dpZCAiIyAgUGhvbnkgdGFyZ2V0IChwcmVyZXF1aXNpdGUgb2YgLlBIT05ZKS4iCm1zZ3N0ciAiIyAgUGhvbnkgdGFyZ2V0IChwcmVyZXF1aXNpdGUgb2YgLlBIT05ZKS4iCgojOiBmaWxlLmM6OTA3Cm1zZ2lkICIjICBDb21tYW5kLWxpbmUgdGFyZ2V0LiIKbXNnc3RyICIjICBDb21tYW5kLWxpbmUgdGFyZ2V0LiIKCiM6IGZpbGUuYzo5MDkKIywgZnV6enkKbXNnaWQgIiMgIEEgZGVmYXVsdCwgTUFLRUZJTEVTLCBvciAtaW5jbHVkZS9zaW5jbHVkZSBtYWtlZmlsZS4iCm1zZ3N0ciAiIyAgQSBkZWZhdWx0IG9yIE1BS0VGSUxFUyBtYWtlZmlsZS4iCgojOiBmaWxlLmM6OTExCm1zZ2lkICIjICBJbXBsaWNpdCBydWxlIHNlYXJjaCBoYXMgYmVlbiBkb25lLiIKbXNnc3RyICIjICBJbXBsaWNpdCBydWxlIHNlYXJjaCBoYXMgYmVlbiBkb25lLiIKCiM6IGZpbGUuYzo5MTIKbXNnaWQgIiMgIEltcGxpY2l0IHJ1bGUgc2VhcmNoIGhhcyBub3QgYmVlbiBkb25lLiIKbXNnc3RyICIjICBJbXBsaWNpdCBydWxlIHNlYXJjaCBoYXMgbm90IGJlZW4gZG9uZS4iCgojOiBmaWxlLmM6OTE0CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICBJbXBsaWNpdC9zdGF0aWMgcGF0dGVybiBzdGVtOiBgJXMnXG4iCm1zZ3N0ciAiIyAgSW1wbGljaXQvc3RhdGljIHBhdHRlcm4gc3RlbTogYCVzJ1xuIgoKIzogZmlsZS5jOjkxNgptc2dpZCAiIyAgRmlsZSBpcyBhbiBpbnRlcm1lZGlhdGUgcHJlcmVxdWlzaXRlLiIKbXNnc3RyICIjICBGaWxlIGlzIGFuIGludGVybWVkaWF0ZSBwcmVyZXF1aXNpdGUuIgoKIzogZmlsZS5jOjkxOQptc2dpZCAiIyAgQWxzbyBtYWtlczoiCm1zZ3N0ciAiIyAgQWxzbyBtYWtlczoiCgojOiBmaWxlLmM6OTI1Cm1zZ2lkICIjICBNb2RpZmljYXRpb24gdGltZSBuZXZlciBjaGVja2VkLiIKbXNnc3RyICIjICBNb2RpZmljYXRpb24gdGltZSBuZXZlciBjaGVja2VkLiIKCiM6IGZpbGUuYzo5MjcKbXNnaWQgIiMgIEZpbGUgZG9lcyBub3QgZXhpc3QuIgptc2dzdHIgIiMgIEZpbGUgZG9lcyBub3QgZXhpc3QuIgoKIzogZmlsZS5jOjkyOQptc2dpZCAiIyAgRmlsZSBpcyB2ZXJ5IG9sZC4iCm1zZ3N0ciAiIyAgRmlsZSBpcyB2ZXJ5IG9sZC4iCgojOiBmaWxlLmM6OTM0CiMsIGMtZm9ybWF0Cm1zZ2lkICIjICBMYXN0IG1vZGlmaWVkICVzXG4iCm1zZ3N0ciAiIyAgTGFzdCBtb2RpZmllZCAlc1xuIgoKIzogZmlsZS5jOjkzNwptc2dpZCAiIyAgRmlsZSBoYXMgYmVlbiB1cGRhdGVkLiIKbXNnc3RyICIjICBGaWxlIGhhcyBiZWVuIHVwZGF0ZWQuIgoKIzogZmlsZS5jOjkzNwptc2dpZCAiIyAgRmlsZSBoYXMgbm90IGJlZW4gdXBkYXRlZC4iCm1zZ3N0ciAiIyAgRmlsZSBoYXMgbm90IGJlZW4gdXBkYXRlZC4iCgojOiBmaWxlLmM6OTQxCm1zZ2lkICIjICBDb21tYW5kcyBjdXJyZW50bHkgcnVubmluZyAoVEhJUyBJUyBBIEJVRykuIgptc2dzdHIgIiMgIENvbW1hbmRzIGN1cnJlbnRseSBydW5uaW5nIChUSElTIElTIEEgQlVHKS4iCgojOiBmaWxlLmM6OTQ0Cm1zZ2lkICIjICBEZXBlbmRlbmNpZXMgY29tbWFuZHMgcnVubmluZyAoVEhJUyBJUyBBIEJVRykuIgptc2dzdHIgIiMgIERlcGVuZGVuY2llcyBjb21tYW5kcyBydW5uaW5nIChUSElTIElTIEEgQlVHKS4iCgojOiBmaWxlLmM6OTUzCm1zZ2lkICIjICBTdWNjZXNzZnVsbHkgdXBkYXRlZC4iCm1zZ3N0ciAiIyAgU3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuIgoKIzogZmlsZS5jOjk1Nwptc2dpZCAiIyAgTmVlZHMgdG8gYmUgdXBkYXRlZCAoLXEgaXMgc2V0KS4iCm1zZ3N0ciAiIyAgTmVlZHMgdG8gYmUgdXBkYXRlZCAoLXEgaXMgc2V0KS4iCgojOiBmaWxlLmM6OTYwCm1zZ2lkICIjICBGYWlsZWQgdG8gYmUgdXBkYXRlZC4iCm1zZ3N0ciAiIyAgRmFpbGVkIHRvIGJlIHVwZGF0ZWQuIgoKIzogZmlsZS5jOjk2Mwptc2dpZCAiIyAgSW52YWxpZCB2YWx1ZSBpbiBgdXBkYXRlX3N0YXR1cycgbWVtYmVyISIKbXNnc3RyICIjICBJbnZhbGlkIHZhbHVlIGluIGB1cGRhdGVfc3RhdHVzJyBtZW1iZXIhIgoKIzogZmlsZS5jOjk3MAptc2dpZCAiIyAgSW52YWxpZCB2YWx1ZSBpbiBgY29tbWFuZF9zdGF0ZScgbWVtYmVyISIKbXNnc3RyICIjICBJbnZhbGlkIHZhbHVlIGluIGBjb21tYW5kX3N0YXRlJyBtZW1iZXIhIgoKIzogZmlsZS5jOjk4OQptc2dpZCAiIgoiXG4iCiIjIEZpbGVzIgptc2dzdHIgIiIKIlxuIgoiIyBGaWxlcyIKCiM6IGZpbGUuYzo5OTMKbXNnaWQgIiIKIlxuIgoiIyBmaWxlcyBoYXNoLXRhYmxlIHN0YXRzOlxuIgoiIyAiCm1zZ3N0ciAiIgoKIzogZnVuY3Rpb24uYzo3NTkKbXNnaWQgIm5vbi1udW1lcmljIGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkJyBmdW5jdGlvbiIKbXNnc3RyICL49PHuIOXw6eAgYHdvcmQnIPrp6fb38OX07CDv5fng+CDo8O7l4vjgIgoKIzogZnVuY3Rpb24uYzo3NjQKbXNnaWQgImZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkJyBmdW5jdGlvbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIgptc2dzdHIgIunh5ennIPrl6eTsIOHp6ecgYHdvcmQnIPrp6fb38OX07CDv5fng+CDo8O7l4vjgIgoKIzogZnVuY3Rpb24uYzo3ODUKbXNnaWQgIm5vbi1udW1lcmljIGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24iCm1zZ3N0ciAi+PTx7iDl8OngIGB3b3JkbGlzdCcg+unp9vfw5fTsIO/l+eD4IOjw7uXi+OAiCgojOiBmdW5jdGlvbi5jOjc4Nwptc2dpZCAibm9uLW51bWVyaWMgc2Vjb25kIGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24iCm1zZ3N0ciAi+PTx7iDl8OngIGB3b3JkbGlzdCcg+unp9vfw5fTsIOnw+SDo8O7l4vjgIgoKIzogZnVuY3Rpb24uYzoxNDUzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY3JlYXRlX2NoaWxkX3Byb2Nlc3M6IER1cGxpY2F0ZUhhbmRsZShJbikgZmFpbGVkIChlPSVsZClcbiIKbXNnc3RyICJjcmVhdGVfY2hpbGRfcHJvY2VzczogRHVwbGljYXRlSGFuZGxlKEluKSBmYWlsZWQgKGU9JWQpXG4iCgojOiBmdW5jdGlvbi5jOjE0NjQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjcmVhdGVfY2hpbGRfcHJvY2VzczogRHVwbGljYXRlSGFuZGxlKEVycikgZmFpbGVkIChlPSVsZClcbiIKbXNnc3RyICJjcmVhdGVfY2hpbGRfcHJvY2VzczogRHVwbGljYXRlSGFuZGxlKEVycikgZmFpbGVkIChlPSVkKVxuIgoKIzogZnVuY3Rpb24uYzoxNDY5CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiQ3JlYXRlUGlwZSgpIGZhaWxlZCAoZT0lbGQpXG4iCm1zZ3N0ciAiQ3JlYXRlUGlwZSgpIGZhaWxlZCAoZT0lZClcbiIKCiM6IGZ1bmN0aW9uLmM6MTQ3NAptc2dpZCAid2luZG93czMyX29wZW5waXBlICgpOiBwcm9jZXNzX2luaXRfZmQoKSBmYWlsZWRcbiIKbXNnc3RyICJ3aW5kb3dzMzJfb3BlbnBpcGUgKCk6IHByb2Nlc3NfaW5pdF9mZCgpIGZhaWxlZFxuIgoKIzogZnVuY3Rpb24uYzoxNzI1CiMsIGMtZm9ybWF0Cm1zZ2lkICJDbGVhbmluZyB1cCB0ZW1wb3JhcnkgYmF0Y2ggZmlsZSAlc1xuIgptc2dzdHIgImAlcycg6fDu5iBiYXRjaCD14eX3IPfs8e5cbiIKCiM6IGZ1bmN0aW9uLmM6MjEwMQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImluc3VmZmljaWVudCBudW1iZXIgb2YgYXJndW1lbnRzICglZCkgdG8gZnVuY3Rpb24gYCVzJyIKbXNnc3RyICL39PHuIOXw6eD5ICglZCkg7eno8O7l4vjgIPj08e4g7fIg5OD49/AgYCVzJyDk6fb38OX0IgoKIzogZnVuY3Rpb24uYzoyMTEzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAidW5pbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtOiBmdW5jdGlvbiBgJXMnIgptc2dzdHIgIuXmIPrr+PLu4SD6+e7l7u4g5PDp4CBgJXMnIOTp9vfw5fQiCgojOiBmdW5jdGlvbi5jOjIxNjMKIywgYy1mb3JtYXQKbXNnaWQgInVudGVybWluYXRlZCBjYWxsIHRvIGZ1bmN0aW9uIGAlcyc6IG1pc3NpbmcgYCVjJyIKbXNnc3RyICJgJXMnIOTp9vfw5fTsIOTg6fj34SBgJWMnIPjx5yIKCiM6IGdldG9wdC5jOjY2MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiBgJXMnIGlzIGFtYmlndW91c1xuIgptc2dzdHIgIiVzIPrp8Ov6IPjl4fIg6fLu+e4t4+cg5fDp4CBgJXMnIO/p6fTg7lxuIgoKIzogZ2V0b3B0LmM6Njg3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIGAtLSVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiJXMg+unw6/og+OXh8iDo8O7l4vjgIOzh9+4g5fDp4CBgLS0lcycg7+np9ODuXG4iCgojOiBnZXRvcHQuYzo2OTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYCVjJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlcyD66fDr+iD45eHyIOjw7uXi+OAg7OH37iDl8OngIGAlYyVzJyDv6en04O5cbiIKCiM6IGdldG9wdC5jOjcwOSBnZXRvcHQuYzo4ODIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYCVzJyByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzIPrp8Ov6IPjl4fIg6PDu5eL44CDh6enn7iBgJXMnIO/p6fTg7lxuIgoKIzogZ2V0b3B0LmM6NzM4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgLS0lcydcbiIKbXNnc3RyICIlcyD66fDr+iD45eHyIGAtLSVzJyDk5OXm7i3p+uzhIO/p6fTg7lxuIgoKIzogZ2V0b3B0LmM6NzQyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgJWMlcydcbiIKbXNnc3RyICIlcyD66fDr+iD45eHyIGAlYyVzJyDk5OXm7i3p+uzhIO/p6fTg7lxuIgoKIzogZ2V0b3B0LmM6NzY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKbXNnc3RyICIlczog6ffl5y3p+uzhIO/p6fTg7iAtLSAlY1xuIgoKIzogZ2V0b3B0LmM6NzcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gLS0gJWNcbiIKbXNnc3RyICIlcyD66fDr+iD45eHyIOnl4vkg7+np9ODuIC0tICVjXG4iCgojOiBnZXRvcHQuYzo4MDEgZ2V0b3B0LmM6OTMxCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVjXG4iCm1zZ3N0ciAiJXM6IOjw7uXi+OAg4enp5+4g7+np9ODuIC0tICVjXG4iCgojOiBnZXRvcHQuYzo4NDgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gYC1XICVzJyBpcyBhbWJpZ3VvdXNcbiIKbXNnc3RyICIlcyD66fDr+iD45eHyIOny7vnuLePnIOXw6eAgYC1XICVzJyDv6en04O5cbiIKCiM6IGdldG9wdC5jOjg2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiBgLVcgJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlcyD66fDr+iD45eHyIOjw7uXi+OAg7OH37iDl8OngIGAtVyAlcycg7+np9ODuXG4iCgojOiBoYXNoLmM6NTEKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGFsbG9jYXRlICVsZCBieXRlcyBmb3IgaGFzaCB0YWJsZTogbWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICIiCgojOiBoYXNoLmM6MjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJMb2FkPSVsZC8lbGQ9JS4wZiUlLCAiCm1zZ3N0ciAiIgoKIzogaGFzaC5jOjI4NAojLCBjLWZvcm1hdAptc2dpZCAiUmVoYXNoPSVkLCAiCm1zZ3N0ciAiIgoKIzogaGFzaC5jOjI4NQojLCBjLWZvcm1hdAptc2dpZCAiQ29sbGlzaW9ucz0lbGQvJWxkPSUuMGYlJSIKbXNnc3RyICIiCgojOiBpbXBsaWNpdC5jOjQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJMb29raW5nIGZvciBhbiBpbXBsaWNpdCBydWxlIGZvciBgJXMnLlxuIgptc2dzdHIgIi5gJXMnIPjl4fIg+fjl9O4t6frs4SDs7Osg+fTn7lxuIgoKIzogaW1wbGljaXQuYzo1NwojLCBjLWZvcm1hdAptc2dpZCAiTG9va2luZyBmb3IgYXJjaGl2ZS1tZW1iZXIgaW1wbGljaXQgcnVsZSBmb3IgYCVzJy5cbiIKbXNnc3RyICIuYCVzJyD45eHyIO/l6ev44CDp+OHg7CD5+OX07i3p+uzhIOzs6yD59OfuXG4iCgojOiBpbXBsaWNpdC5jOjMxOQptc2dpZCAiQXZvaWRpbmcgaW1wbGljaXQgcnVsZSByZWN1cnNpb24uXG4iCm1zZ3N0ciAiLvr5+OX07i3p+uzhIOTp8fjl9/juIPLw7vBcbiIKCiM6IGltcGxpY2l0LmM6NDc2CiMsIGMtZm9ybWF0Cm1zZ2lkICJUcnlpbmcgcGF0dGVybiBydWxlIHdpdGggc3RlbSBgJS4qcycuXG4iCm1zZ3N0ciAiLmAlLipzJyD5+OX5IO3yIPrp8OH6IOzs6yDk8fDuXG4iCgojOiBpbXBsaWNpdC5jOjY2NwojLCBjLWZvcm1hdAptc2dpZCAiUmVqZWN0aW5nIGltcG9zc2libGUgaW1wbGljaXQgcHJlcmVxdWlzaXRlIGAlcycuXG4iCm1zZ3N0ciAiLvrp+Pn04C3p+uzhIOTw6eT5IO3l+e4gYCVzJyD6+fjl9O4t6frs4SDt4/cg+vnp+OMg5Ofl41xuIgoKIzogaW1wbGljaXQuYzo2NjgKIywgYy1mb3JtYXQKbXNnaWQgIlJlamVjdGluZyBpbXBvc3NpYmxlIHJ1bGUgcHJlcmVxdWlzaXRlIGAlcycuXG4iCm1zZ3N0ciAiLvrp+Pn04C3p+uzhIOTw6eT5IO3l+e4gYCVzJyDt4/cg+vnp+OMg5Ofl41xuIgoKIzogaW1wbGljaXQuYzo2NzgKIywgYy1mb3JtYXQKbXNnaWQgIlRyeWluZyBpbXBsaWNpdCBwcmVyZXF1aXNpdGUgYCVzJy5cbiIKbXNnc3RyICIuYCVzJyD6+fjl9O4t6frs4SDt4/cg+vnp+OMg5PHw7lxuIgoKIzogaW1wbGljaXQuYzo2NzkKIywgYy1mb3JtYXQKbXNnaWQgIlRyeWluZyBydWxlIHByZXJlcXVpc2l0ZSBgJXMnLlxuIgptc2dzdHIgIi5gJXMnIO3j9yD6+en44yDs7Osg5PHw7lxuIgoKIzogaW1wbGljaXQuYzo3MTAKIywgYy1mb3JtYXQKbXNnaWQgIkZvdW5kIHByZXJlcXVpc2l0ZSBgJXMnIGFzIFZQQVRIIGAlcydcbiIKbXNnc3RyICJgJXMnIO3j9yD6+en44+sgVlBBVEggYCVzJyDp+uD27lxuIgoKIzogaW1wbGljaXQuYzo3MzAKIywgYy1mb3JtYXQKbXNnaWQgIkxvb2tpbmcgZm9yIGEgcnVsZSB3aXRoIGludGVybWVkaWF0ZSBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg6fDu5iD14eX3IO3yIOzs6yD59OfuXG4iCgojOiBqb2IuYzozMjEKIywgZnV6enkKbXNnaWQgIkNhbm5vdCBjcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZVxuIgptc2dzdHIgImZ3cml0ZSAodGVtcG9yYXJ5IGZpbGUpIgoKIzogam9iLmM6Mzg4CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBFcnJvciAweCV4IChpZ25vcmVkKSIKbXNnc3RyICIqKiogWyVzXSAweCV4IOTs9/ruIOn67uzy+uQgKioqIgoKIzogam9iLmM6Mzg5CiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogWyVzXSBFcnJvciAweCV4Igptc2dzdHIgIioqKiBbJXNdIDB4JXgg5Oz3+iAqKioiCgojOiBqb2IuYzozOTMKIywgYy1mb3JtYXQKbXNnaWQgIlslc10gRXJyb3IgJWQgKGlnbm9yZWQpIgptc2dzdHIgIlslc10gJWQg5Oz3+u4g6fru7PL65CIKCiM6IGpvYi5jOjM5NAojLCBjLWZvcm1hdAptc2dpZCAiKioqIFslc10gRXJyb3IgJWQiCm1zZ3N0ciAiKioqIFslc10gJWQg5Oz3+iIKCiM6IGpvYi5jOjM5OQptc2dpZCAiIChjb3JlIGR1bXBlZCkiCm1zZ3N0ciAiIChjb3JlIPXh5ffhIO35+PAg7+X46+bkIO/r5fopIgoKIzogam9iLmM6NDg4Cm1zZ2lkICIqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLiIKbXNnc3RyICIqKiogLi4u5e7p6frx8CDt+Oj5IPrl4+Xh8uwg7+n67u4iCgojOiBqb2IuYzo1MTgKIywgYy1mb3JtYXQKbXNnaWQgIkxpdmUgY2hpbGQgMHglMDhseCAoJXMpIFBJRCAlbGQgJXNcbiIKbXNnc3RyICLk9vggMHglMDhseCAoJXMpIFBJRD0lbGQgJXMg+uEt+unw6/pcbiIKCiM6IGpvYi5jOjUyMCBqb2IuYzo3MDEgam9iLmM6ODA0IGpvYi5jOjE0NTcKbXNnaWQgIiAocmVtb3RlKSIKbXNnc3RyICIo+vfn5fjuKSIKCiM6IGpvYi5jOjY5OAojLCBjLWZvcm1hdAptc2dpZCAiUmVhcGluZyBsb3NpbmcgY2hpbGQgMHglMDhseCBQSUQgJWxkICVzXG4iCm1zZ3N0ciAi5Oz56/D5IDB4JTA4bHggUElEPSVsZCAlcyD64S366fDr+iDz8eXgXG4iCgojOiBqb2IuYzo2OTkKIywgYy1mb3JtYXQKbXNnaWQgIlJlYXBpbmcgd2lubmluZyBjaGlsZCAweCUwOGx4IFBJRCAlbGQgJXNcbiIKbXNnc3RyICLk5+ns9uT5IDB4JTA4bHggUElEPSVsZCAlcyD64S366fDr+iDz8eXgXG4iCgojOiBqb2IuYzo3MDQKIywgYy1mb3JtYXQKbXNnaWQgIkNsZWFuaW5nIHVwIHRlbXAgYmF0Y2ggZmlsZSAlc1xuIgptc2dzdHIgImAlcycg6fDu5iBiYXRjaCD14eX3IPfs8e5cbiIKCiM6IGpvYi5jOjgwMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIlJlbW92aW5nIGNoaWxkIDB4JTA4bHggUElEICVsZCVzIGZyb20gY2hhaW4uXG4iCm1zZ3N0ciAiLvrl4+Xh8iD6+Pn4+e4gMHglMDhseCBQSUQ9JWxkICVzIPrhLfrp8Ov6IPfp5/juXG4iCgojICBIZXJlIGFuZCBlbHNld2hlcmUgbGVhZGluZyBzdHJpbmdzIHBhc3NlZCB0byBwZXJyb3IgYXJlIG5vdCB0cmFuc2xhdGVkLAojICBzaW5jZSB0aGV5IHdpbGwgYmUgZm9sbG93ZWQgYnkgYW4gZXJyb3IgbWVzc2FnZSBpbiBFbmdsaXNoLgojOiBqb2IuYzo4NjIKbXNnaWQgIndyaXRlIGpvYnNlcnZlciIKbXNnc3RyICJ3cml0ZSBqb2JzZXJ2ZXIiCgojOiBqb2IuYzo4NjQKIywgYy1mb3JtYXQKbXNnaWQgIlJlbGVhc2VkIHRva2VuIGZvciBjaGlsZCAweCUwOGx4ICglcykuXG4iCm1zZ3N0ciAiLvj45+X5IDB4JTA4bHggKCVzKSD64S366fDr+iD45eHyIO/l7unx4ORcbiIKCiM6IGpvYi5jOjEzODMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJwcm9jZXNzX2Vhc3koKSBmYWlsZWQgdG8gbGF1bmNoIHByb2Nlc3MgKGU9JWxkKVxuIgptc2dzdHIgIihlPSVkKSD66fDr+i36+iD45eLp+eEg7Pnr8CBwcm9jZXNzX2Vhc3koKVxuIgoKIzogam9iLmM6MTM4NyBqb2IuYzoyMDIwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkNvdW50ZWQgJWQgYXJncyBpbiBmYWlsZWQgbGF1bmNoXG4iCm1zZ3N0ciAiIgoiXG4iCiLs+evw+SD45eLp+eEg5fDu8CDt6ejw7uXi+OAgJWRcbiIKCiM6IGpvYi5jOjE0NTUKIywgYy1mb3JtYXQKbXNnaWQgIlB1dHRpbmcgY2hpbGQgMHglMDhseCAoJXMpIFBJRCAlbGQlcyBvbiB0aGUgY2hhaW4uXG4iCm1zZ3N0ciAiLvrl4+Xh8iD6+Pn4+ewgMHglMDhseCAoJXMpIFBJRD0lbGQgJXMg+uEt+unw6/og8/j27lxuIgoKIzogam9iLmM6MTcwOQojLCBjLWZvcm1hdAptc2dpZCAiT2J0YWluZWQgdG9rZW4gZm9yIGNoaWxkIDB4JTA4bHggKCVzKS5cbiIKbXNnc3RyICIuMHglMDhseCAoJXMpIPrhLfrp8Ov6IPjl4fIg7+Xu6fHgIOzh9/rkXG4iCgojOiBqb2IuYzoxNzE4Cm1zZ2lkICJyZWFkIGpvYnMgcGlwZSIKbXNnc3RyICJyZWFkIGpvYnMgcGlwZSIKCiM6IGpvYi5jOjE4MzIKbXNnaWQgImNhbm5vdCBlbmZvcmNlIGxvYWQgbGltaXRzIG9uIHRoaXMgb3BlcmF0aW5nIHN5c3RlbSIKbXNnc3RyICLl5iD66/jy7uEg8e7l8iD65ezh4u4g+uX06+wg7/rp8CDg7CIKCiM6IGpvYi5jOjE4MzQKbXNnaWQgImNhbm5vdCBlbmZvcmNlIGxvYWQgbGltaXQ6ICIKbXNnc3RyICJjYW5ub3QgZW5mb3JjZSBsb2FkIGxpbWl0OiAiCgojOiBqb2IuYzoxOTA3Cm1zZ2lkICJubyBtb3JlIGZpbGUgaGFuZGxlczogY291bGQgbm90IGR1cGxpY2F0ZSBzdGRpblxuIgptc2dzdHIgIiIKCiM6IGpvYi5jOjE5MDkKbXNnaWQgIm5vIG1vcmUgZmlsZSBoYW5kbGVzOiBjb3VsZCBub3QgZHVwbGljYXRlIHN0ZG91dFxuIgptc2dzdHIgIiIKCiM6IGpvYi5jOjE5MzcKbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHN0ZGluXG4iCm1zZ3N0ciAiIgoKIzogam9iLmM6MTk0NQptc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgc3Rkb3V0XG4iCm1zZ3N0ciAiIgoKIzogam9iLmM6MjAxNgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInByb2Nlc3NfZWFzeSgpIGZhaWxlZCBmYWlsZWQgdG8gbGF1bmNoIHByb2Nlc3MgKGU9JWxkKVxuIgptc2dzdHIgIihlPSVkKSD66fDr+i36+iD45eLp+eEg7Pnr8CBwcm9jZXNzX2Vhc3koKVxuIgoKIzogam9iLmM6MjA0NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIm1ha2UgcmVhcGVkIGNoaWxkIHBpZCAlbGQsIHN0aWxsIHdhaXRpbmcgZm9yIHBpZCAlbGRcbiIKbXNnc3RyICLk9PHg8CBwaWQgJWQg+uEt+unw6/ogLHBpZCAlZC3sIOTr5+4g7+np4/JcbiIKCiM6IGpvYi5jOjIwODUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBDb21tYW5kIG5vdCBmb3VuZCIKbXNnc3RyICLk4Pbu8CDg7CDl5iDk4+X39CA6JXMiCgojOiBqb2IuYzoyMTQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogU2hlbGwgcHJvZ3JhbSBub3QgZm91bmQiCm1zZ3N0ciAi5OD27vAg4Owgc2hlbGwg+uPl9/QgOiVzIgoKIzogam9iLmM6MjE1NAptc2dpZCAic3Bhd252cGU6IGVudmlyb25tZW50IHNwYWNlIG1pZ2h0IGJlIGV4aGF1c3RlZCIKbXNnc3RyICIiCgojOiBqb2IuYzoyMzYzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJFNIRUxMIGNoYW5nZWQgKHdhcyBgJXMnLCBub3cgYCVzJylcbiIKbXNnc3RyICIoYCVzJyDk6eQg7ePl9yAsYCVzJyDl6fnr8ikg5PD6+eQgJFNIRUxMIOz5IOXr+PIiCgojOiBqb2IuYzoyNzg5CiMsIGMtZm9ybWF0Cm1zZ2lkICJDcmVhdGluZyB0ZW1wb3JhcnkgYmF0Y2ggZmlsZSAlc1xuIgptc2dzdHIgImAlcycg6fDu5iBiYXRjaCD14eX3IPj25elcbiIKCiM6IGpvYi5jOjI5MDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzIChsaW5lICVkKSBCYWQgc2hlbGwgY29udGV4dCAoIXVuaXh5ICYmICFiYXRjaF9tb2RlX3NoZWxsKVxuIgptc2dzdHIgIiIKIighdW5peHkgJiYgIWJhdGNoX21vZGVfc2hlbGwpIHNoZWxsLW1vZGUg+vLp4ffhIOTs9/ogOiVzIPXh5fcg7PkgJWQg5Pjl+VxuIgoKIzogbWFpbi5jOjI5MQptc2dpZCAiT3B0aW9uczpcbiIKbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA67enw6en04O5cbiIKCiM6IG1haW4uYzoyOTIKIywgZnV6enkKbXNnaWQgIiAgLWIsIC1tICAgICAgICAgICAgICAgICAgICAgIElnbm9yZWQgZm9yIGNvbXBhdGliaWxpdHkuXG4iCm1zZ3N0ciAi+uXu6eD6IO/y7uwg6O755e4iCgojOiBtYWluLmM6Mjk0Cm1zZ2lkICIgIC1CLCAtLWFsd2F5cy1tYWtlICAgICAgICAgICBVbmNvbmRpdGlvbmFsbHkgbWFrZSBhbGwgdGFyZ2V0cy5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6Mjk2Cm1zZ2lkICIiCiIgIC1DIERJUkVDVE9SWSwgLS1kaXJlY3Rvcnk9RElSRUNUT1JZXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgdG8gRElSRUNUT1JZIGJlZm9yZSBkb2luZyBhbnl0aGluZy5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6Mjk5CiMsIGZ1enp5Cm1zZ2lkICIgIC1kICAgICAgICAgICAgICAgICAgICAgICAgICBQcmludCBsb3RzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi5cbiIKbXNnc3RyICL65eDp4vkg6eX06fAg+uHl6Owg8uPp7iDs+SDy9Pkg4vbkIgoKIzogbWFpbi5jOjMwMQojLCBmdXp6eQptc2dpZCAiIgoiICAtLWRlYnVnWz1GTEFHU10gICAgICAgICAgICAgUHJpbnQgdmFyaW91cyB0eXBlcyBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uXG4iCm1zZ3N0ciAi+uXg6eL5IOnl9OnwIPrh5ejsIPLj6e4g7Pkg7enw5fkg7eni5fEg4vbkIgoKIzogbWFpbi5jOjMwMwptc2dpZCAiIgoiICAtZSwgLS1lbnZpcm9ubWVudC1vdmVycmlkZXNcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSBtYWtlZmlsZXMuXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjMwNgptc2dpZCAiIgoiICAtZiBGSUxFLCAtLWZpbGU9RklMRSwgLS1tYWtlZmlsZT1GSUxFXG4iCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFkIEZJTEUgYXMgYSBtYWtlZmlsZS5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MzA5CiMsIGZ1enp5Cm1zZ2lkICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBQcmludCB0aGlzIG1lc3NhZ2UgYW5kIGV4aXQuXG4iCm1zZ3N0ciAi+unw6/rk7iDg9uUg5OYg5Pjm8iDq8e4g4vbkIgoKIzogbWFpbi5jOjMxMQojLCBmdXp6eQptc2dpZCAiICAtaSwgLS1pZ25vcmUtZXJyb3JzICAgICAgICAgSWdub3JlIGVycm9ycyBmcm9tIGNvbW1hbmRzLlxuIgptc2dzdHIgIvrl6fDr+i36+uEg+uXg6eL57iDt7PL65CIKCiM6IG1haW4uYzozMTMKbXNnaWQgIiIKIiAgLUkgRElSRUNUT1JZLCAtLWluY2x1ZGUtZGlyPURJUkVDVE9SWVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIERJUkVDVE9SWSBmb3IgaW5jbHVkZWQgbWFrZWZpbGVzLlxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzozMTYKIywgZnV6enkKbXNnaWQgIiIKIiAgLWogW05dLCAtLWpvYnNbPU5dICAgICAgICAgIEFsbG93IE4gam9icyBhdCBvbmNlOyBpbmZpbml0ZSBqb2JzIHdpdGggbm8gIgoiYXJnLlxuIgptc2dzdHIgIuTs4eLuIO/p4CDo8O7l4vjgIODs7CA7+unw7uYt5eEg+uXj5eHyIE4t7iD4+uXpIODsIgoKIzogbWFpbi5jOjMxOAojLCBmdXp6eQptc2dpZCAiIgoiICAtaywgLS1rZWVwLWdvaW5nICAgICAgICAgICAgS2VlcCBnb2luZyB3aGVuIHNvbWUgdGFyZ2V0cyBjYW4ndCBiZSBtYWRlLlxuIgptc2dzdHIgIuTp8OHsIPrl8Prp8CDv8OngIPrl+Oju5O4g5O7rIO3gIOXs6fTgIOr57uQiCgojOiBtYWluLmM6MzIwCm1zZ2lkICIiCiIgIC1sIFtOXSwgLS1sb2FkLWF2ZXJhZ2VbPU5dLCAtLW1heC1sb2FkWz1OXVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9uJ3Qgc3RhcnQgbXVsdGlwbGUgam9icyB1bmxlc3MgbG9hZCBpcyBiZWxvdyAiCiJOLlxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzozMjMKbXNnaWQgIiIKIiAgLUwsIC0tY2hlY2stc3ltbGluay10aW1lcyAgIFVzZSB0aGUgbGF0ZXN0IG10aW1lIGJldHdlZW4gc3ltbGlua3MgYW5kICIKInRhcmdldC5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MzI1Cm1zZ2lkICIiCiIgIC1uLCAtLWp1c3QtcHJpbnQsIC0tZHJ5LXJ1biwgLS1yZWNvblxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9uJ3QgYWN0dWFsbHkgcnVuIGFueSBjb21tYW5kczsganVzdCBwcmludCAiCiJ0aGVtLlxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzozMjgKbXNnaWQgIiIKIiAgLW8gRklMRSwgLS1vbGQtZmlsZT1GSUxFLCAtLWFzc3VtZS1vbGQ9RklMRVxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc2lkZXIgRklMRSB0byBiZSB2ZXJ5IG9sZCBhbmQgZG9uJ3QgcmVtYWtlICIKIml0LlxuIgptc2dzdHIgIiIKCiM6IG1haW4uYzozMzEKIywgZnV6enkKbXNnaWQgIiAgLXAsIC0tcHJpbnQtZGF0YS1iYXNlICAgICAgIFByaW50IG1ha2UncyBpbnRlcm5hbCBkYXRhYmFzZS5cbiIKbXNnc3RyICJNYWtlIOz5IOnu6fD0IO3p8OX68CDx6fHhIOL25CIKCiM6IG1haW4uYzozMzMKIywgZnV6enkKbXNnaWQgIiIKIiAgLXEsIC0tcXVlc3Rpb24gICAgICAgICAgICAgIFJ1biBubyBjb21tYW5kczsgZXhpdCBzdGF0dXMgc2F5cyBpZiB1cCB0byAiCiJkYXRlLlxuIgptc2dzdHIgIvrw6+Pl8u4g5Pjo7iDt4OEg+O7l4CDk4On26SDj5fcgO/rl4+X39CD16fj6IOzgIgoKIzogbWFpbi5jOjMzNQojLCBmdXp6eQptc2dpZCAiICAtciwgLS1uby1idWlsdGluLXJ1bGVzICAgICAgRGlzYWJsZSB0aGUgYnVpbHQtaW4gaW1wbGljaXQgcnVsZXMuXG4iCm1zZ3N0ciAi7en5+OX07i3p+uzhIO3p8OHl7iDt6ezs6yDs+OjwIgoKIzogbWFpbi5jOjMzNwojLCBmdXp6eQptc2dpZCAiICAtUiwgLS1uby1idWlsdGluLXZhcmlhYmxlcyAgRGlzYWJsZSB0aGUgYnVpbHQtaW4gdmFyaWFibGUgc2V0dGluZ3MuXG4iCm1zZ3N0ciAi7enw+vnuIOz5IPrl8OHl7iD65fjj4uQg7Pjo8CIKCiM6IG1haW4uYzozMzkKbXNnaWQgIiAgLXMsIC0tc2lsZW50LCAtLXF1aWV0ICAgICAgIERvbid0IGVjaG8gY29tbWFuZHMuXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjM0MQptc2dpZCAiIgoiICAtUywgLS1uby1rZWVwLWdvaW5nLCAtLXN0b3BcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR1cm5zIG9mZiAtay5cbiIKbXNnc3RyICIiCgojOiBtYWluLmM6MzQ0CiMsIGZ1enp5Cm1zZ2lkICIgIC10LCAtLXRvdWNoICAgICAgICAgICAgICAgICBUb3VjaCB0YXJnZXRzIGluc3RlYWQgb2YgcmVtYWtpbmcgdGhlbS5cbiIKbXNnc3RyICLv+uXw4ewg7eX37uEg+uX46O4g7Pkg7+7mIPru6frnIO/r4/IiCgojOiBtYWluLmM6MzQ2CiMsIGZ1enp5Cm1zZ2lkICIiCiIgIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgICBQcmludCB0aGUgdmVyc2lvbiBudW1iZXIgb2YgbWFrZSBhbmQgZXhpdC5cbiIKbXNnc3RyICL66fDr+uTuIOD25SBNYWtlIOz5IODx+OniIPj08e4g4vbkIgoKIzogbWFpbi5jOjM0OAojLCBmdXp6eQptc2dpZCAiICAtdywgLS1wcmludC1kaXJlY3RvcnkgICAgICAgUHJpbnQgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgptc2dzdHIgIvrp5+vl8CDk6ffp+iDt+SDi9uQiCgojOiBtYWluLmM6MzUwCiMsIGZ1enp5Cm1zZ2lkICIiCiIgIC0tbm8tcHJpbnQtZGlyZWN0b3J5ICAgICAgICBUdXJuIG9mZiAtdywgZXZlbiBpZiBpdCB3YXMgdHVybmVkIG9uICIKImltcGxpY2l0bHkuXG4iCm1zZ3N0ciAi+fjl9O7hIO/p5fYg4OXkIO3gIOXs6fTgIC13IOzo4SIKCiM6IG1haW4uYzozNTIKbXNnaWQgIiIKIiAgLVcgRklMRSwgLS13aGF0LWlmPUZJTEUsIC0tbmV3LWZpbGU9RklMRSwgLS1hc3N1bWUtbmV3PUZJTEVcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNpZGVyIEZJTEUgdG8gYmUgaW5maW5pdGVseSBuZXcuXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjM1NQojLCBmdXp6eQptc2dpZCAiIgoiICAtLXdhcm4tdW5kZWZpbmVkLXZhcmlhYmxlcyAgV2FybiB3aGVuIGFuIHVuZGVmaW5lZCB2YXJpYWJsZSBpcyAiCiJyZWZlcmVuY2VkLlxuIgptc2dzdHIgIvjj4uXkIODs+SDk8Pr57uwg5Onp8PTkIOT49+7hIOT45ObgIOL25CIKCiM6IG1haW4uYzo1NDkKbXNnaWQgImVtcHR5IHN0cmluZyBpbnZhbGlkIGFzIGZpbGUgbmFtZSIKbXNnc3RyICL14eX3IO356yD67OH3+u4g5PDp4CDk9+n4IPrm5fjn7iIKCiM6IG1haW4uYzo2MzAKIywgYy1mb3JtYXQKbXNnaWQgInVua25vd24gZGVidWcgbGV2ZWwgc3BlY2lmaWNhdGlvbiBgJXMnIgptc2dzdHIgIvrl4Oni+SDp5fTp8Owg8uPp7iDs+SBgJXMnIPjr5e4t6frs4SDv6en04O4iCgojOiBtYWluLmM6NjcwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IEludGVycnVwdC9FeGNlcHRpb24gY2F1Z2h0IChjb2RlID0gMHglbHgsIGFkZHIgPSAweCVseClcbiIKbXNnc3RyICIlcyD66fDr+uEgKGNvZGUgPSAweCV4LCBhZGRyID0gMHgleCkg5OLp+Ocg5eAg5Pfp8fRcbiIKCiM6IG1haW4uYzo2NzcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIlVuaGFuZGxlZCBleGNlcHRpb24gZmlsdGVyIGNhbGxlZCBmcm9tIHByb2dyYW0gJXNcbiIKIkV4Y2VwdGlvbkNvZGUgPSAlbHhcbiIKIkV4Y2VwdGlvbkZsYWdzID0gJWx4XG4iCiJFeGNlcHRpb25BZGRyZXNzID0gJWx4XG4iCm1zZ3N0ciAiIgoiXG4iCiIlcyD66fDr+iDq5fruIOD49/Ag7OX06egg4OzsIPrl4un45yDv8PHuXG4iCiJFeGNlcHRpb25Db2RlID0gJXhcbiIKIkV4Y2VwdGlvbkZsYWdzID0gJXhcbiIKIkV4Y2VwdGlvbkFkZHJlc3MgPSAleFxuIgoKIzogbWFpbi5jOjY4NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIkFjY2VzcyB2aW9sYXRpb246IHdyaXRlIG9wZXJhdGlvbiBhdCBhZGRyZXNzICVseFxuIgptc2dzdHIgIiV4IPrh5frr7CDk4en66yA67+X46+bsIOT56eIg+uz3+lxuIgoKIzogbWFpbi5jOjY4NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIkFjY2VzcyB2aW9sYXRpb246IHJlYWQgb3BlcmF0aW9uIGF0IGFkZHJlc3MgJWx4XG4iCm1zZ3N0ciAiJXgg+uHl+uvuIOTg6fj3IDrv5fjr5uwg5Pnp4iD67Pf6XG4iCgojOiBtYWluLmM6NzYyIG1haW4uYzo3NzMKIywgYy1mb3JtYXQKbXNnaWQgImZpbmRfYW5kX3NldF9zaGVsbCBzZXR0aW5nIGRlZmF1bHRfc2hlbGwgPSAlc1xuIgptc2dzdHIgImZpbmRfYW5kX3NldF9zaGVsbCBzZXR0aW5nIGRlZmF1bHRfc2hlbGwgPSAlc1xuIgoKIzogbWFpbi5jOjgxNAojLCBjLWZvcm1hdAptc2dpZCAiZmluZF9hbmRfc2V0X3NoZWxsIHBhdGggc2VhcmNoIHNldCBkZWZhdWx0X3NoZWxsID0gJXNcbiIKbXNnc3RyICJmaW5kX2FuZF9zZXRfc2hlbGwgcGF0aCBzZWFyY2ggc2V0IGRlZmF1bHRfc2hlbGwgPSAlc1xuIgoKIzogbWFpbi5jOjEyMzYKIywgYy1mb3JtYXQKbXNnaWQgIiVzIGlzIHN1c3BlbmRpbmcgZm9yIDMwIHNlY29uZHMuLi4iCm1zZ3N0ciAiLvrl6fD5IDMwIOz5ICVzIPrp6eT55CIKCiMgIFBheSBhdHRlbnRpb246IHRoaXMgaXMgd3JpdHRlbiB0byB0aGUgX3JpZ2h0XyBvZiB0aGUgcHJldmlvdXMgc3RyaW5nLAojICBidXQgc2hvdWxkIGxvb2sgbGlrZSBhIHNpbmdsZSBzZW50ZW5jZSB0b2dldGhlciB3aXRoIGl0LgojOiBtYWluLmM6MTIzOAojLCBjLWZvcm1hdAptc2dpZCAiZG9uZSBzbGVlcCgzMCkuIENvbnRpbnVpbmcuXG4iCm1zZ3N0ciAiIOTu6en68fBcbiIKCiM6IG1haW4uYzoxNDY2Cm1zZ2lkICJNYWtlZmlsZSBmcm9tIHN0YW5kYXJkIGlucHV0IHNwZWNpZmllZCB0d2ljZS4iCm1zZ3N0ciAiLvrn4CDt8vTuIPj65ekg7/rp8CDp8Pf6IOjs9yD15fjy7iBNYWtlZmlsZSIKCiM6IG1haW4uYzoxNTA1IHZtc2pvYnMuYzo0ODYKbXNnaWQgImZvcGVuICh0ZW1wb3JhcnkgZmlsZSkiCm1zZ3N0ciAiZm9wZW4gKHRlbXBvcmFyeSBmaWxlKSIKCiM6IG1haW4uYzoxNTExCm1zZ2lkICJmd3JpdGUgKHRlbXBvcmFyeSBmaWxlKSIKbXNnc3RyICJmd3JpdGUgKHRlbXBvcmFyeSBmaWxlKSIKCiM6IG1haW4uYzoxNjQwCm1zZ2lkICJQYXJhbGxlbCBqb2JzICgtaikgYXJlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCm1zZ3N0ciAiLuXmIPrr+PLu4SDq7vrwIOXw6eAgKC1qKSDp7Onh9+4g8uX26eEiCgojOiBtYWluLmM6MTY0MQptc2dpZCAiUmVzZXR0aW5nIHRvIHNpbmdsZSBqb2IgKC1qMSkgbW9kZS4iCm1zZ3N0ciAiLigtajEpIOn6+OPxIO/05eDhIOXy9uXh6SD65ePl9/QiCgojOiBtYWluLmM6MTY1Ngptc2dpZCAiaW50ZXJuYWwgZXJyb3I6IG11bHRpcGxlIC0tam9ic2VydmVyLWZkcyBvcHRpb25zIgptc2dzdHIgIu3p4eX47iAtLWpvYnNlcnZlci1mZHMg6fDp6fTg7iA6+unu6fD0IOTw6/og+uz3+iIKCiM6IG1haW4uYzoxNjY0CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnRlcm5hbCBlcnJvcjogaW52YWxpZCAtLWpvYnNlcnZlci1mZHMgc3RyaW5nIGAlcyciCm1zZ3N0ciAiLS1qb2JzZXJ2ZXItZmRzIO/p6fTg7uEgYCVzJyDk6eXi+SD65uX45+4gOvrp7unw9CDk8Ov6IPrs9/oiCgojOiBtYWluLmM6MTY3NAptc2dpZCAid2FybmluZzogLWpOIGZvcmNlZCBpbiBzdWJtYWtlOiBkaXNhYmxpbmcgam9ic2VydmVyIG1vZGUuIgptc2dzdHIgImpvYnNlcnZlciDv9OXgIOzo4e4gOy1qTiDh6enn7iBNYWtlLfr6IDrk+OTm4CIKCiM6IG1haW4uYzoxNjg0Cm1zZ2lkICJkdXAgam9ic2VydmVyIgptc2dzdHIgImR1cCBqb2JzZXJ2ZXIiCgojOiBtYWluLmM6MTY4Nwptc2dpZCAiIgoid2FybmluZzogam9ic2VydmVyIHVuYXZhaWxhYmxlOiB1c2luZyAtajEuICBBZGQgYCsnIHRvIHBhcmVudCBtYWtlIHJ1bGUuIgptc2dzdHIgIiIKIi5NYWtlIOz5IOHg5CDs7OvsIGArJyDz8eXkIC4tajEt4SD55e7p+SDk+fLp6SA77+nu5iDl8OngIGpvYnNlcnZlciA65Pjk5uAiCgojOiBtYWluLmM6MTcxMAptc2dpZCAiY3JlYXRpbmcgam9icyBwaXBlIgptc2dzdHIgImNyZWF0aW5nIGpvYnMgcGlwZSIKCiM6IG1haW4uYzoxNzI1Cm1zZ2lkICJpbml0IGpvYnNlcnZlciBwaXBlIgptc2dzdHIgImluaXQgam9ic2VydmVyIHBpcGUiCgojOiBtYWluLmM6MTc0NAptc2dpZCAiU3ltYm9saWMgbGlua3Mgbm90IHN1cHBvcnRlZDogZGlzYWJsaW5nIC1MLiIKbXNnc3RyICIiCgojOiBtYWluLmM6MTgyMAptc2dpZCAiVXBkYXRpbmcgbWFrZWZpbGVzLi4uLlxuIgptc2dzdHIgIi4uLm1ha2VmaWxlIOn24fcg7+vj8u5cbiIKCiM6IG1haW4uYzoxODQ1CiMsIGMtZm9ybWF0Cm1zZ2lkICJNYWtlZmlsZSBgJXMnIG1pZ2h0IGxvb3A7IG5vdCByZW1ha2luZyBpdC5cbiIKbXNnc3RyICIu+ePn7iDl+Pbp6ezuIPLw7vAgO/rp9OXx8OngIOTg7OXsIPjl9unsIOzl7PIgYCVzJyBNYWtlZmlsZVxuIgoKIzogbWFpbi5jOjE5MjQKIywgYy1mb3JtYXQKbXNnaWQgIkZhaWxlZCB0byByZW1ha2UgbWFrZWZpbGUgYCVzJy4iCm1zZ3N0ciAiLmAlcycgbWFrZWZpbGUg7Pkg+ePn7i3k+On26eEg5Oz3+iIKCiM6IG1haW4uYzoxOTQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJJbmNsdWRlZCBtYWtlZmlsZSBgJXMnIHdhcyBub3QgZm91bmQuIgptc2dzdHIgIi7g9u7wIODsIGAlcycg7Ozr5e4gbWFrZWZpbGUiCgojOiBtYWluLmM6MTk0NgojLCBjLWZvcm1hdAptc2dpZCAiTWFrZWZpbGUgYCVzJyB3YXMgbm90IGZvdW5kIgptc2dzdHIgIuD27vAg4OwgYCVzJyBNYWtlZmlsZSIKCiM6IG1haW4uYzoyMDE2Cm1zZ2lkICJDb3VsZG4ndCBjaGFuZ2UgYmFjayB0byBvcmlnaW5hbCBkaXJlY3RvcnkuIgptc2dzdHIgIi766fjl9+7kIOTp9+n67CD45ebn7CDv+unwIODsIgoKIzogbWFpbi5jOjIwMjQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJSZS1leGVjdXRpbmdbJXVdOiIKbXNnc3RyICJSZS1leGVjdXRpbmc6IgoKIzogbWFpbi5jOjIxNDAKbXNnaWQgInVubGluayAodGVtcG9yYXJ5IGZpbGUpOiAiCm1zZ3N0ciAidW5saW5rICh0ZW1wb3JhcnkgZmlsZSk6ICIKCiM6IG1haW4uYzoyMTY5Cm1zZ2lkICIuREVGQVVMVF9HT0FMIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgdGFyZ2V0Igptc2dzdHIgIiIKCiM6IG1haW4uYzoyMTg5Cm1zZ2lkICJObyB0YXJnZXRzIHNwZWNpZmllZCBhbmQgbm8gbWFrZWZpbGUgZm91bmQiCm1zZ3N0ciAibWFrZWZpbGUg6fbh9yDl4Pbu8CDg7OUg+uX46O4g7+Xp9iDv6eAiCgojOiBtYWluLmM6MjE5MQptc2dpZCAiTm8gdGFyZ2V0cyIKbXNnc3RyICL65fjo7iDv6eAiCgojOiBtYWluLmM6MjE5Ngptc2dpZCAiVXBkYXRpbmcgZ29hbCB0YXJnZXRzLi4uLlxuIgptc2dzdHIgIi4uLuPy6SD65fjo7iDv6+Py7lxuIgoKIzogbWFpbi5jOjIyMjIKbXNnaWQgIndhcm5pbmc6ICBDbG9jayBza2V3IGRldGVjdGVkLiAgWW91ciBidWlsZCBtYXkgYmUgaW5jb21wbGV0ZS4iCm1zZ3N0ciAiLuTu7Pkg4Owg+uXp5Owg5Ozl7PIg5Onw4eQgLu/l8vkg+vnp7OIg5Prs4vrwIDr65fjp5OYiCgojOiBtYWluLmM6MjM4MwojLCBjLWZvcm1hdAptc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbdGFyZ2V0XSAuLi5cbiIKbXNnc3RyICIlcyBb7enw6en04O5dIFvk+OjuXSAuLi4gIDr55e7p+SDv9OXgXG4iCgojOiBtYWluLmM6MjM4OQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiJUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjIzOTEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiVGhpcyBwcm9ncmFtIGJ1aWx0IGZvciAlcyAoJXMpXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjIzOTQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJSZXBvcnQgYnVncyB0byA8YnVnLW1ha2VAZ251Lm9yZz5cbiIKbXNnc3RyICIiCiJcbiIKIi48YnVnLW1ha2VAZ251Lm9yZz4t7CDk7Pf6IOnn5eXp4yDn5ez57CDg8FxuIgoKIzogbWFpbi5jOjI0NjYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ0aGUgYC0lYycgb3B0aW9uIHJlcXVpcmVzIGEgbm9uLWVtcHR5IHN0cmluZyBhcmd1bWVudCIKbXNnc3RyICLp4eXp5+Ug7ez5IOjw7uXi+OAg4enp5+4gYC0lYycg7+np9ODuIgoKIzogbWFpbi5jOjI1MTgKIywgYy1mb3JtYXQKbXNnaWQgInRoZSBgLSVjJyBvcHRpb24gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ3JhbCBhcmd1bWVudCIKbXNnc3RyICLp4eXp5+Ug7ez5IOjw7uXi+OAg4enp5+4gYC0lYycg7+np9ODuIgoKIzogbWFpbi5jOjI5NDIKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiIlc1RoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy5cbiIKIiVzVGhlcmUgaXMgTk8gd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQVxuIgoiJXNQQVJUSUNVTEFSIFBVUlBPU0UuXG4iCm1zZ3N0ciAiIgoiLCBieSBSaWNoYXJkIFN0YWxsbWFuIGFuZCBSb2xhbmQgTWNHcmF0aC5cbiIKIiVzICAgICAgICAgICAlcyD45eHyIOT68OHwXG4iCiIlc0NvcHlyaWdodCAoQykgMTk4OCwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAyMDAwXG4iCiIlc1x0RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiIlcyAgICAgICAgICAgICAgICAgICAgIC745ffuIOn24ffhIO/p6fIg5Pf68uQg+uXp5evm7CA7+un59Ocg5PDr+iDp5OXmXG4iCiIlcyAgICAg5O7g+uQg5eAg+uX46efxIPjl4fIg4Owg5ezp9OAgO/rl6fjn4CDh+uvhIOTl5ezuIOTw6eAg5eYg+unw6+X6XG4iCiIlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu6eT57Osg+uns6/rsXG4iCiJcbiIKIiVzICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1Zy1tYWtlQGdudS5vcmc+Lewg5Oz3+iDp5+Xl6eMg5+Xs+ewg4PBcbiIKIlxuIgoKIzogbWFpbi5jOjI5NDgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJXNUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzXG4iCm1zZ3N0ciAiIgoKIzogbWFpbi5jOjI5NTAKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiJXNUaGlzIHByb2dyYW0gYnVpbHQgZm9yICVzICglcylcbiIKbXNnc3RyICIiCgojOiBtYWluLmM6Mjk2OAojLCBjLWZvcm1hdAptc2dpZCAiIgoiXG4iCiIjIE1ha2UgZGF0YSBiYXNlLCBwcmludGVkIG9uICVzIgptc2dzdHIgIiIKIlxuIgoiIyBNYWtlIGRhdGEgYmFzZSwgcHJpbnRlZCBvbiAlcyIKCiM6IG1haW4uYzoyOTc4CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgRmluaXNoZWQgTWFrZSBkYXRhIGJhc2Ugb24gJXNcbiIKbXNnc3RyICIiCiJcbiIKIiMgRmluaXNoZWQgTWFrZSBkYXRhIGJhc2Ugb24gJXNcbiIKCiM6IG1haW4uYzozMTAxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IEVudGVyaW5nIGFuIHVua25vd24gZGlyZWN0b3J5XG4iCm1zZ3N0ciAiYW4gdW5rbm93biBkaXJlY3RvcnkiCgojOiBtYWluLmM6MzEwMwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBMZWF2aW5nIGFuIHVua25vd24gZGlyZWN0b3J5XG4iCm1zZ3N0ciAiYW4gdW5rbm93biBkaXJlY3RvcnkiCgojOiBtYWluLmM6MzEwNgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBFbnRlcmluZyBkaXJlY3RvcnkgYCVzJ1xuIgptc2dzdHIgImRpcmVjdG9yeSBgJXMnXG4iCgojOiBtYWluLmM6MzEwOQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBMZWF2aW5nIGRpcmVjdG9yeSBgJXMnXG4iCm1zZ3N0ciAiZGlyZWN0b3J5IGAlcydcbiIKCiM6IG1haW4uYzozMTE0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXNbJXVdOiBFbnRlcmluZyBhbiB1bmtub3duIGRpcmVjdG9yeVxuIgptc2dzdHIgImFuIHVua25vd24gZGlyZWN0b3J5IgoKIzogbWFpbi5jOjMxMTcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlc1sldV06IExlYXZpbmcgYW4gdW5rbm93biBkaXJlY3RvcnlcbiIKbXNnc3RyICJhbiB1bmtub3duIGRpcmVjdG9yeSIKCiM6IG1haW4uYzozMTIxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXNbJXVdOiBFbnRlcmluZyBkaXJlY3RvcnkgYCVzJ1xuIgptc2dzdHIgImRpcmVjdG9yeSBgJXMnXG4iCgojOiBtYWluLmM6MzEyNAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzWyV1XTogTGVhdmluZyBkaXJlY3RvcnkgYCVzJ1xuIgptc2dzdHIgImRpcmVjdG9yeSBgJXMnXG4iCgojOiBtaXNjLmM6Mjg1Cm1zZ2lkICIuICBTdG9wLlxuIgptc2dzdHIgIi4gIFN0b3AuXG4iCgojOiBtaXNjLmM6MzA2CiMsIGMtZm9ybWF0Cm1zZ2lkICJVbmtub3duIGVycm9yICVkIgptc2dzdHIgIlVua25vd24gZXJyb3IgJWQiCgojOiBtaXNjLmM6MzE2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyVzOiAlcyIKbXNnc3RyICIiCgojOiBtaXNjLmM6MzI0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXMiCm1zZ3N0ciAiIgoKIzogbWlzYy5jOjM0NCBtaXNjLmM6MzU5IG1pc2MuYzozNzYgcmVhZC5jOjMxMjcKbXNnaWQgInZpcnR1YWwgbWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICLp7ODl6Pjp5eQg7+X46+bkIPju4vAiCgojOiBtaXNjLmM6NjQ2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IHVzZXIgJWx1IChyZWFsICVsdSksIGdyb3VwICVsdSAocmVhbCAlbHUpXG4iCm1zZ3N0ciAiJXMgYWNjZXNzOiB1c2VyICVsdSAocmVhbCAlbHUpLCBncm91cCAlbHUgKHJlYWwgJWx1KVxuIgoKIzogbWlzYy5jOjY2NwojLCBmdXp6eQptc2dpZCAiSW5pdGlhbGl6ZWQgYWNjZXNzIgptc2dzdHIgIkluaXRpYWxpemVkIgoKIzogbWlzYy5jOjc0Ngptc2dpZCAiVXNlciBhY2Nlc3MiCm1zZ3N0ciAiIgoKIzogbWlzYy5jOjc5NAptc2dpZCAiTWFrZSBhY2Nlc3MiCm1zZ3N0ciAiIgoKIzogbWlzYy5jOjgyOAptc2dpZCAiQ2hpbGQgYWNjZXNzIgptc2dzdHIgIiIKCiM6IG1pc2MuYzo4OTIKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ3cml0ZSBlcnJvcjogJXMiCm1zZ3N0ciAiJXMt7CD65eDp4vkg+unp8PTkXG4iCgojICBIZXJlIGFuZCBlbHNld2hlcmUgbGVhZGluZyBzdHJpbmdzIHBhc3NlZCB0byBwZXJyb3IgYXJlIG5vdCB0cmFuc2xhdGVkLAojICBzaW5jZSB0aGV5IHdpbGwgYmUgZm9sbG93ZWQgYnkgYW4gZXJyb3IgbWVzc2FnZSBpbiBFbmdsaXNoLgojOiBtaXNjLmM6ODk0CiMsIGZ1enp5Cm1zZ2lkICJ3cml0ZSBlcnJvciIKbXNnc3RyICJ3cml0ZSBqb2JzZXJ2ZXIiCgojOiByZWFkLmM6MTYwCm1zZ2lkICJSZWFkaW5nIG1ha2VmaWxlcy4uLlxuIgptc2dzdHIgIi4uLm1ha2VmaWxlIOn24fcg4Pjl91xuIgoKIzogcmVhZC5jOjMxNQojLCBjLWZvcm1hdAptc2dpZCAiUmVhZGluZyBtYWtlZmlsZSBgJXMnIgptc2dzdHIgIlJlYWRpbmcgbWFrZWZpbGUgYCVzJyIKCiM6IHJlYWQuYzozMTcKIywgYy1mb3JtYXQKbXNnaWQgIiAobm8gZGVmYXVsdCBnb2FsKSIKbXNnc3RyICIgKG5vIGRlZmF1bHQgZ29hbCkiCgojOiByZWFkLmM6MzE5CiMsIGMtZm9ybWF0Cm1zZ2lkICIgKHNlYXJjaCBwYXRoKSIKbXNnc3RyICIgKHNlYXJjaCBwYXRoKSIKCiM6IHJlYWQuYzozMjEKIywgYy1mb3JtYXQKbXNnaWQgIiAoZG9uJ3QgY2FyZSkiCm1zZ3N0ciAiIChkb24ndCBjYXJlKSIKCiM6IHJlYWQuYzozMjMKIywgYy1mb3JtYXQKbXNnaWQgIiAobm8gfiBleHBhbnNpb24pIgptc2dzdHIgIiAobm8gfiBleHBhbnNpb24pIgoKIzogcmVhZC5jOjYyMwptc2dpZCAiaW52YWxpZCBzeW50YXggaW4gY29uZGl0aW9uYWwiCm1zZ3N0ciAi6eDw+iDs+SDp5eL5IPjp4ef6IgoKIzogcmVhZC5jOjYzMwptc2dpZCAiZXh0cmFuZW91cyBgZW5kZWYnIgptc2dzdHIgIvj65enuIGBlbmRlZiciCgojOiByZWFkLmM6NjQ1IHJlYWQuYzo2NzMgdmFyaWFibGUuYzoxMzE2Cm1zZ2lkICJlbXB0eSB2YXJpYWJsZSBuYW1lIgptc2dzdHIgIvfp+CDk8Pr57iDt+SIKCiM6IHJlYWQuYzo2NjIKbXNnaWQgImVtcHR5IGBvdmVycmlkZScgZGlyZWN0aXZlIgptc2dzdHIgIuT36fggYG92ZXJyaWRlJyD64Pjl5CIKCiM6IHJlYWQuYzo2ODcKbXNnaWQgImludmFsaWQgYG92ZXJyaWRlJyBkaXJlY3RpdmUiCm1zZ3N0ciAi5Onl4vkgYG92ZXJyaWRlJyD64Pjl5CIKCiM6IHJlYWQuYzo4NTQKbXNnaWQgImNvbW1hbmRzIGNvbW1lbmNlIGJlZm9yZSBmaXJzdCB0YXJnZXQiCm1zZ3N0ciAi5PDl+eD4IOT46O4g6fD07CD65ezp5/ruIPrl4+X39CIKCiM6IHJlYWQuYzo5MDUKbXNnaWQgIm1pc3NpbmcgcnVsZSBiZWZvcmUgY29tbWFuZHMiCm1zZ3N0ciAi7+Tp8PTsIOzs6yDg7Owg+uXj5ff0IgoKIzogcmVhZC5jOjk5MgojLCBjLWZvcm1hdAptc2dpZCAibWlzc2luZyBzZXBhcmF0b3IlcyIKbXNnc3RyICIlc+Pp+PTuIPjx5yIKCiM6IHJlYWQuYzo5OTQKbXNnaWQgIiAoZGlkIHlvdSBtZWFuIFRBQiBpbnN0ZWFkIG9mIDggc3BhY2VzPykiCm1zZ3N0ciAiKD/t6efl5fggOCDt5ffu4SBUQUIt7CD68OXl6/rkIO3g5CkgIgoKIzogcmVhZC5jOjExNTIKbXNnaWQgIm1pc3NpbmcgdGFyZ2V0IHBhdHRlcm4iCm1zZ3N0ciAi5Pjo7iD66fDh+iDv6eAiCgojOiByZWFkLmM6MTE1NAptc2dpZCAibXVsdGlwbGUgdGFyZ2V0IHBhdHRlcm5zIgptc2dzdHIgIvrl4eX47iDk+OjuIPrl6fDh+iIKCiM6IHJlYWQuYzoxMTU4CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0YXJnZXQgcGF0dGVybiBjb250YWlucyBubyBgJSUnIgptc2dzdHIgImAlJScg4OzsIOT46O4g+unw4foiCgojOiByZWFkLmM6MTI4Ngptc2dpZCAibWlzc2luZyBgZW5kaWYnIgptc2dzdHIgIvjx5yBgZW5kaWYnIgoKIzogcmVhZC5jOjEzNzcKbXNnaWQgIkV4dHJhbmVvdXMgdGV4dCBhZnRlciBgZW5kZWYnIGRpcmVjdGl2ZSIKbXNnc3RyICJgZW5kZWYnIPrg+OXkIOn45+Ag+Prl6e4g6PH36CIKCiM6IHJlYWQuYzoxNDExCm1zZ2lkICJtaXNzaW5nIGBlbmRlZicsIHVudGVybWluYXRlZCBgZGVmaW5lJyIKbXNnc3RyICLt5enxIODs7CBgZGVmaW5lJyD64Pjl5CAs+PHnIGBlbmRlZiciCgojOiByZWFkLmM6MTQ1NAojLCBjLWZvcm1hdAptc2dpZCAiRXh0cmFuZW91cyB0ZXh0IGFmdGVyIGAlcycgZGlyZWN0aXZlIgptc2dzdHIgImAlcycg+uD45eQg6fjn4CD4+uXp7iDo8ffoIgoKIzogcmVhZC5jOjE0NjMgcmVhZC5jOjE0NzcKIywgYy1mb3JtYXQKbXNnaWQgImV4dHJhbmVvdXMgYCVzJyIKbXNnc3RyICL4+uXp7iBgJXMnIgoKIzogcmVhZC5jOjE0ODIKbXNnaWQgIm9ubHkgb25lIGBlbHNlJyBwZXIgY29uZGl0aW9uYWwiCm1zZ3N0ciAi6eDw+iDs6+wg4+nn6SBgZWxzZScg9/gg+Prl7iIKCiM6IHJlYWQuYzoxODI0CiMsIGZ1enp5Cm1zZ2lkICJNYWxmb3JtZWQgdGFyZ2V0LXNwZWNpZmljIHZhcmlhYmxlIGRlZmluaXRpb24iCm1zZ3N0ciAi5Pjo7uwg6fTp9vTxIOTw+vnuIOz5IOTp5eL5IOT44+LkIgoKIzogcmVhZC5jOjE4ODYKbXNnaWQgInByZXJlcXVpc2l0ZXMgY2Fubm90IGJlIGRlZmluZWQgaW4gY29tbWFuZCBzY3JpcHRzIgptc2dzdHIgIiIKCiM6IHJlYWQuYzoxOTIxCm1zZ2lkICJtaXhlZCBpbXBsaWNpdCBhbmQgc3RhdGljIHBhdHRlcm4gcnVsZXMiCm1zZ3N0ciAi7en5+OX07i3p+uzh5SDt6eno6PEg+unw4fog6ezs6yDs+SDh5eH48iIKCiM6IHJlYWQuYzoxOTI0Cm1zZ2lkICJtaXhlZCBpbXBsaWNpdCBhbmQgbm9ybWFsIHJ1bGVzIgptc2dzdHIgIu3p+fjl9O4t6frs4eUg7ens6eL4IO3p7OzrIOz5IOHl4fjyIgoKIzogcmVhZC5jOjE5NTQKIywgYy1mb3JtYXQKbXNnaWQgInRhcmdldCBgJXMnIGRvZXNuJ3QgbWF0Y2ggdGhlIHRhcmdldCBwYXR0ZXJuIgptc2dzdHIgIuPy6eQg+unw4fog+uAg+u7g5fog5PDp4CBgJXMnIOT46O4iCgojOiByZWFkLmM6MTk3MyByZWFkLmM6MjA3NAojLCBjLWZvcm1hdAptc2dpZCAidGFyZ2V0IGZpbGUgYCVzJyBoYXMgYm90aCA6IGFuZCA6OiBlbnRyaWVzIgptc2dzdHIgIjo6IO/k5SA6IOLl8e4g7+Qg7ens7Osg+ekgYCVzJyDk+OjuIPXh5ffsIgoKIzogcmVhZC5jOjE5NzkKIywgYy1mb3JtYXQKbXNnaWQgInRhcmdldCBgJXMnIGdpdmVuIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHJ1bGUuIgptc2dzdHIgIi7s7Osg5frl4OEg+ufgIO3y9O4g+Prl6SDk8un05e4gYCVzJyDk+OjuIgoKIzogcmVhZC5jOjE5ODgKIywgYy1mb3JtYXQKbXNnaWQgIndhcm5pbmc6IG92ZXJyaWRpbmcgY29tbWFuZHMgZm9yIHRhcmdldCBgJXMnIgptc2dzdHIgImAlcycg5Pjo7iD45eHyIPrl4+X39CDx+OXjIDr65fjp5OYiCgojOiByZWFkLmM6MTk5MQojLCBjLWZvcm1hdAptc2dpZCAid2FybmluZzogaWdub3Jpbmcgb2xkIGNvbW1hbmRzIGZvciB0YXJnZXQgYCVzJyIKbXNnc3RyICJgJXMnIOT46O4g+OXh8iD65e7j5fcg+uXj5ff07iDt7PL67iA6+uX46eTmIgoKIzogcmVhZC5jOjI1NzUKbXNnaWQgIndhcm5pbmc6IE5VTCBjaGFyYWN0ZXIgc2VlbjsgcmVzdCBvZiBsaW5lIGlnbm9yZWQiCm1zZ3N0ciAi5Ofw5vAg5Pjl+eQg+vj66SA7TlVMIOX6IOn6+eL0IDrk+OTm4CIKCiM6IHJlbWFrZS5jOjIyOQojLCBjLWZvcm1hdAptc2dpZCAiTm90aGluZyB0byBiZSBkb25lIGZvciBgJXMnLiIKbXNnc3RyICIuYCVzIPjl4fIg+uX58uwg5O4g7+ngIgoKIzogcmVtYWtlLmM6MjMwCiMsIGMtZm9ybWF0Cm1zZ2lkICJgJXMnIGlzIHVwIHRvIGRhdGUuIgptc2dzdHIgIi7p8Ovj8iD44esgYCVzJyIKCiM6IHJlbWFrZS5jOjI5NwojLCBjLWZvcm1hdAptc2dpZCAiUHJ1bmluZyBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg+OXh8iD65enl7Pog8/jiIPX29+5cbiIKCiM6IHJlbWFrZS5jOjM0OQojLCBjLWZvcm1hdAptc2dpZCAiJXNObyBydWxlIHRvIG1ha2UgdGFyZ2V0IGAlcyclcyIKbXNnc3RyICIlc2AlcyclcyDk+OjuIPrp6fDh7CDt6ezs6yDv6eAiCgojOiByZW1ha2UuYzozNTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgJXMnLCBuZWVkZWQgYnkgYCVzJyVzIgptc2dzdHIgIiVz5Prp6fDh7CDt6ezs6yDv6eAg6uAgLGAlcycg+vn45eMgYCVzJyVzIOT46O4iCgojOiByZW1ha2UuYzozNzgKIywgYy1mb3JtYXQKbXNnaWQgIkNvbnNpZGVyaW5nIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg5Pjo7iD14eX3IO/n5eFcbiIKCiM6IHJlbWFrZS5jOjM4NQojLCBjLWZvcm1hdAptc2dpZCAiUmVjZW50bHkgdHJpZWQgYW5kIGZhaWxlZCB0byB1cGRhdGUgZmlsZSBgJXMnLlxuIgptc2dzdHIgIi5gJXMnIPXh5fcg7+Xr4/LhIOn67Pnr8OUg6frp8enwIO/u5u4g4OxcbiIKCiM6IHJlbWFrZS5jOjQwMAojLCBjLWZvcm1hdAptc2dpZCAiRmlsZSBgJXMnIHdhcyBjb25zaWRlcmVkIGFscmVhZHkuXG4iCm1zZ3N0ciAiLu/rLenw9Owg7+fh8CD44esgYCVzJyD14eX3XG4iCgojOiByZW1ha2UuYzo0MTAKIywgYy1mb3JtYXQKbXNnaWQgIlN0aWxsIHVwZGF0aW5nIGZpbGUgYCVzJy5cbiIKbXNnc3RyICIuYCVzJyD14eX3IO/r4/LuIO/p6ePyXG4iCgojOiByZW1ha2UuYzo0MTMKIywgYy1mb3JtYXQKbXNnaWQgIkZpbmlzaGVkIHVwZGF0aW5nIGZpbGUgYCVzJy5cbiIKbXNnc3RyICIuYCVzJyD14eX3IO/r4/LsIOn67unp8VxuIgoKIzogcmVtYWtlLmM6NDM0CiMsIGMtZm9ybWF0Cm1zZ2lkICJGaWxlIGAlcycgZG9lcyBub3QgZXhpc3QuXG4iCm1zZ3N0ciAiLu3p6fcg5fDp4CBgJXMnIPXh5fdcbiIKCiM6IHJlbWFrZS5jOjQ0MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiKioqIFdhcm5pbmc6IC5MT1dfUkVTT0xVVElPTl9USU1FIGZpbGUgYCVzJyBoYXMgYSBoaWdoIHJlc29sdXRpb24gdGltZSBzdGFtcCIKbXNnc3RyICIiCgojOiByZW1ha2UuYzo0NTQgcmVtYWtlLmM6OTYyCiMsIGMtZm9ybWF0Cm1zZ2lkICJGb3VuZCBhbiBpbXBsaWNpdCBydWxlIGZvciBgJXMnLlxuIgptc2dzdHIgIi5gJXMnIPjl4fIg+fjl9O4t6frs4SDs7Osg6frg9u5cbiIKCiM6IHJlbWFrZS5jOjQ1NiByZW1ha2UuYzo5NjQKIywgYy1mb3JtYXQKbXNnaWQgIk5vIGltcGxpY2l0IHJ1bGUgZm91bmQgZm9yIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg+OXh8iDt6fn45fTuLen67OEg7ens7Osg5eD27vAg4OxcbiIKCiM6IHJlbWFrZS5jOjQ2MiByZW1ha2UuYzo5NzAKIywgYy1mb3JtYXQKbXNnaWQgIlVzaW5nIGRlZmF1bHQgY29tbWFuZHMgZm9yIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg+OXh8iDs4+fuIPr46fjhIPrl4+X39OEg+e76+e5cbiIKCiM6IHJlbWFrZS5jOjQ4NCByZW1ha2UuYzo5OTYKIywgYy1mb3JtYXQKbXNnaWQgIkNpcmN1bGFyICVzIDwtICVzIGRlcGVuZGVuY3kgZHJvcHBlZC4iCm1zZ3N0ciAiLiVzIDwtICVzIPrp7OLy7iDs5ez6IOjp7vnuIgoKIzogcmVtYWtlLmM6NjAxCiMsIGMtZm9ybWF0Cm1zZ2lkICJGaW5pc2hlZCBwcmVyZXF1aXNpdGVzIG9mIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg5Pjo7iD14eX3IOz5IO3j9y365fnp+OMg7fIg6fru6enxXG4iCgojOiByZW1ha2UuYzo2MDcKIywgYy1mb3JtYXQKbXNnaWQgIlRoZSBwcmVyZXF1aXNpdGVzIG9mIGAlcycgYXJlIGJlaW5nIG1hZGUuXG4iCm1zZ3N0ciAiLuTp8OHhIGAlcycg7Pkg7eP35CD65fnp+ONcbiIKCiM6IHJlbWFrZS5jOjYyMAojLCBjLWZvcm1hdAptc2dpZCAiR2l2aW5nIHVwIG9uIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg5Pjo7iD14eX3IOnh4uwg7enp4+kg6fru+ORcbiIKCiM6IHJlbWFrZS5jOjYyNQojLCBjLWZvcm1hdAptc2dpZCAiVGFyZ2V0IGAlcycgbm90IHJlbWFkZSBiZWNhdXNlIG9mIGVycm9ycy4iCm1zZ3N0ciAiLvrl4Oni+SDh9/Ig+ePn7iDk+vDh8CDg7CBgJXMnIOT46O4iCgojOiByZW1ha2UuYzo2NzcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJQcmVyZXF1aXNpdGUgYCVzJyBpcyBvcmRlci1vbmx5IGZvciB0YXJnZXQgYCVzJy5cbiIKbXNnc3RyICIuYCVzJyDt4/fkIPr56fjj7iDk+ePnIGAlcycg5Pjo7lxuIgoKIzogcmVtYWtlLmM6NjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJQcmVyZXF1aXNpdGUgYCVzJyBvZiB0YXJnZXQgYCVzJyBkb2VzIG5vdCBleGlzdC5cbiIKbXNnc3RyICIu7enp9yDl8Ong+SBgJXMnIOng8PrrIPr5+OXjIGAlcycg5Pjo7lxuIgoKIzogcmVtYWtlLmM6Njg3CiMsIGMtZm9ybWF0Cm1zZ2lkICJQcmVyZXF1aXNpdGUgYCVzJyBpcyBuZXdlciB0aGFuIHRhcmdldCBgJXMnLlxuIgptc2dzdHIgIi5gJXMnIO3j9+Qg+vnp+OPuIOTw+ekgYCVzJyDk+OjuXG4iCgojOiByZW1ha2UuYzo2OTAKIywgYy1mb3JtYXQKbXNnaWQgIlByZXJlcXVpc2l0ZSBgJXMnIGlzIG9sZGVyIHRoYW4gdGFyZ2V0IGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg7eP35CD6+en44+4g5Pnj5yBgJXMnIOT46O5cbiIKCiM6IHJlbWFrZS5jOjcwOAojLCBjLWZvcm1hdAptc2dpZCAiVGFyZ2V0IGAlcycgaXMgZG91YmxlLWNvbG9uIGFuZCBoYXMgbm8gcHJlcmVxdWlzaXRlcy5cbiIKbXNnc3RyICIu7eP3IPrl+en44yDg7OzlIO3p7OX06yDt6en65ePl9/Ag7fIg5PDp5CBgJXMnIOT46O5cbiIKCiM6IHJlbWFrZS5jOjcxNQojLCBjLWZvcm1hdAptc2dpZCAiTm8gY29tbWFuZHMgZm9yIGAlcycgYW5kIG5vIHByZXJlcXVpc2l0ZXMgYWN0dWFsbHkgY2hhbmdlZC5cbiIKbXNnc3RyICIu5Pny7uwg5Prw+vnkIODsIO3j9yD6+en44yDz4OUgYCVzJyD45eHyIPrl4+X39CDv6eBcbiIKCiM6IHJlbWFrZS5jOjcyMAojLCBjLWZvcm1hdAptc2dpZCAiTWFraW5nIGAlcycgZHVlIHRvIGFsd2F5cy1tYWtlIGZsYWcuXG4iCm1zZ3N0ciAiIgoKIzogcmVtYWtlLmM6NzI4CiMsIGMtZm9ybWF0Cm1zZ2lkICJObyBuZWVkIHRvIHJlbWFrZSB0YXJnZXQgYCVzJyIKbXNnc3RyICJgJXMnIOT46O4g+ePn7iD65fDh7CDq+OX2IO/p4CIKCiM6IHJlbWFrZS5jOjczMAojLCBjLWZvcm1hdAptc2dpZCAiOyB1c2luZyBWUEFUSCBuYW1lIGAlcyciCm1zZ3N0ciAiIChgJXMnIDpWUEFUSCD14eX3IO35KSIKCiM6IHJlbWFrZS5jOjc1MAojLCBjLWZvcm1hdAptc2dpZCAiTXVzdCByZW1ha2UgdGFyZ2V0IGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg5Pjo7iD54+fuIPrl8OHsIOHp6edcbiIKCiM6IHJlbWFrZS5jOjc1NgojLCBjLWZvcm1hdAptc2dpZCAiICBJZ25vcmluZyBWUEFUSCBuYW1lIGAlcycuXG4iCm1zZ3N0ciAiICAuYCVzJyBWUEFUSCDt+e4g7ezy+u5cbiIKCiM6IHJlbWFrZS5jOjc2NQojLCBjLWZvcm1hdAptc2dpZCAiQ29tbWFuZHMgb2YgYCVzJyBhcmUgYmVpbmcgcnVuLlxuIgptc2dzdHIgIi5gJXMnIPjl4fIg+uXj5ff0IPXp+O5cbiIKCiM6IHJlbWFrZS5jOjc3MgojLCBjLWZvcm1hdAptc2dpZCAiRmFpbGVkIHRvIHJlbWFrZSB0YXJnZXQgZmlsZSBgJXMnLlxuIgptc2dzdHIgIi754+fuIGAlcycg+uXw4ewg7+Xp8fAg7Pnr8FxuIgoKIzogcmVtYWtlLmM6Nzc1CiMsIGMtZm9ybWF0Cm1zZ2lkICJTdWNjZXNzZnVsbHkgcmVtYWRlIHRhcmdldCBmaWxlIGAlcycuXG4iCm1zZ3N0ciAiLmAlcycg+ePn7iD66enw4eEg5Ofs9uRcbiIKCiM6IHJlbWFrZS5jOjc3OAojLCBjLWZvcm1hdAptc2dpZCAiVGFyZ2V0IGZpbGUgYCVzJyBuZWVkcyByZW1hZGUgdW5kZXIgLXEuXG4iCm1zZ3N0ciAiLi1xIO3yIPrl8OHp5Owg6un49iBgJXMnIOT46O4g9eHl91xuIgoKIzogcmVtYWtlLmM6MTMwNgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIldhcm5pbmc6IEZpbGUgYCVzJyBoYXMgbW9kaWZpY2F0aW9uIHRpbWUgaW4gdGhlIGZ1dHVyZSIKbXNnc3RyICIqKiogYCVzJyD14eX3IPjl4fIgKCVzID4gJXMpIOPp+vLhIOXw6eQg7+X45+Ag6eXw6fkg7+7mIDrk+OTm4CAqKioiCgojOiByZW1ha2UuYzoxMzEzCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogRmlsZSBgJXMnIGhhcyBtb2RpZmljYXRpb24gdGltZSAlLjJnIHMgaW4gdGhlIGZ1dHVyZSIKbXNnc3RyICIqKiogYCVzJyD14eX3IPjl4fIgKCVzID4gJXMpIOPp+vLhIOXw6eQg7+X45+Ag6eXw6fkg7+7mIDrk+OTm4CAqKioiCgojOiByZW1ha2UuYzoxNTExCiMsIGMtZm9ybWF0Cm1zZ2lkICIuTElCUEFUVEVSTlMgZWxlbWVudCBgJXMnIGlzIG5vdCBhIHBhdHRlcm4iCm1zZ3N0ciAi+unw4fog5fDp4CAuTElCUEFUVEVSTlMg7PkgYCVzJyDo8O7s4CIKCiM6IHJlbW90ZS1jc3Rtcy5jOjEyNQojLCBjLWZvcm1hdAptc2dpZCAiQ3VzdG9tcyB3b24ndCBleHBvcnQ6ICVzXG4iCm1zZ3N0ciAiJXMg4Pbp6e4g5fDp4CBDdXN0b21zXG4iCgojOiBydWxlLmM6NTQ4CiMsIGZ1enp5Cm1zZ2lkICIiCiJcbiIKIiMgSW1wbGljaXQgUnVsZXMiCm1zZ3N0ciAiIgoiXG4iCiIjIE5vIGltcGxpY2l0IHJ1bGVzLiIKCiM6IHJ1bGUuYzo1NjMKbXNnaWQgIiIKIlxuIgoiIyBObyBpbXBsaWNpdCBydWxlcy4iCm1zZ3N0ciAiIgoiXG4iCiIjIE5vIGltcGxpY2l0IHJ1bGVzLiIKCiM6IHJ1bGUuYzo1NjYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiIyAldSBpbXBsaWNpdCBydWxlcywgJXUiCm1zZ3N0ciAiIgoiXG4iCiIjICV1IGltcGxpY2l0IHJ1bGVzLCAldSIKCiM6IHJ1bGUuYzo1NzUKbXNnaWQgIiB0ZXJtaW5hbC4iCm1zZ3N0ciAiIHRlcm1pbmFsLiIKCiM6IHJ1bGUuYzo1ODMKIywgYy1mb3JtYXQKbXNnaWQgIkJVRzogbnVtX3BhdHRlcm5fcnVsZXMgd3JvbmchICAldSAhPSAldSIKbXNnc3RyICJCVUc6IG51bV9wYXR0ZXJuX3J1bGVzIHdyb25nISAgJXUgIT0gJXUiCgojICBJdCdzIG5vIHVzZSB0byB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzaWduYWwgbmFtZXMuCiM6IHNpZ25hbWUuYzo4NQptc2dpZCAidW5rbm93biBzaWduYWwiCm1zZ3N0ciAidW5rbm93biBzaWduYWwiCgojOiBzaWduYW1lLmM6OTMKbXNnaWQgIkhhbmd1cCIKbXNnc3RyICJIYW5ndXAiCgojOiBzaWduYW1lLmM6OTYKbXNnaWQgIkludGVycnVwdCIKbXNnc3RyICJJbnRlcnJ1cHQiCgojOiBzaWduYW1lLmM6OTkKbXNnaWQgIlF1aXQiCm1zZ3N0ciAiUXVpdCIKCiM6IHNpZ25hbWUuYzoxMDIKbXNnaWQgIklsbGVnYWwgSW5zdHJ1Y3Rpb24iCm1zZ3N0ciAiSWxsZWdhbCBJbnN0cnVjdGlvbiIKCiM6IHNpZ25hbWUuYzoxMDUKbXNnaWQgIlRyYWNlL2JyZWFrcG9pbnQgdHJhcCIKbXNnc3RyICJUcmFjZS9icmVha3BvaW50IHRyYXAiCgojOiBzaWduYW1lLmM6MTEwCm1zZ2lkICJBYm9ydGVkIgptc2dzdHIgIkFib3J0ZWQiCgojOiBzaWduYW1lLmM6MTEzCm1zZ2lkICJJT1QgdHJhcCIKbXNnc3RyICJJT1QgdHJhcCIKCiM6IHNpZ25hbWUuYzoxMTYKbXNnaWQgIkVNVCB0cmFwIgptc2dzdHIgIkVNVCB0cmFwIgoKIzogc2lnbmFtZS5jOjExOQptc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgptc2dzdHIgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKCiM6IHNpZ25hbWUuYzoxMjIKbXNnaWQgIktpbGxlZCIKbXNnc3RyICJLaWxsZWQiCgojOiBzaWduYW1lLmM6MTI1Cm1zZ2lkICJCdXMgZXJyb3IiCm1zZ3N0ciAiQnVzIGVycm9yIgoKIzogc2lnbmFtZS5jOjEyOAptc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0Igptc2dzdHIgIlNlZ21lbnRhdGlvbiBmYXVsdCIKCiM6IHNpZ25hbWUuYzoxMzEKbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKbXNnc3RyICJCYWQgc3lzdGVtIGNhbGwiCgojOiBzaWduYW1lLmM6MTM0Cm1zZ2lkICJCcm9rZW4gcGlwZSIKbXNnc3RyICJCcm9rZW4gcGlwZSIKCiM6IHNpZ25hbWUuYzoxMzcKbXNnaWQgIkFsYXJtIGNsb2NrIgptc2dzdHIgIkFsYXJtIGNsb2NrIgoKIzogc2lnbmFtZS5jOjE0MAptc2dpZCAiVGVybWluYXRlZCIKbXNnc3RyICJUZXJtaW5hdGVkIgoKIzogc2lnbmFtZS5jOjE0Mwptc2dpZCAiVXNlciBkZWZpbmVkIHNpZ25hbCAxIgptc2dzdHIgIlVzZXIgZGVmaW5lZCBzaWduYWwgMSIKCiM6IHNpZ25hbWUuYzoxNDYKbXNnaWQgIlVzZXIgZGVmaW5lZCBzaWduYWwgMiIKbXNnc3RyICJVc2VyIGRlZmluZWQgc2lnbmFsIDIiCgojOiBzaWduYW1lLmM6MTUxIHNpZ25hbWUuYzoxNTQKbXNnaWQgIkNoaWxkIGV4aXRlZCIKbXNnc3RyICJDaGlsZCBleGl0ZWQiCgojOiBzaWduYW1lLmM6MTU3Cm1zZ2lkICJQb3dlciBmYWlsdXJlIgptc2dzdHIgIlBvd2VyIGZhaWx1cmUiCgojOiBzaWduYW1lLmM6MTYwCm1zZ2lkICJTdG9wcGVkIgptc2dzdHIgIlN0b3BwZWQiCgojOiBzaWduYW1lLmM6MTYzCm1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgptc2dzdHIgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCgojOiBzaWduYW1lLmM6MTY2Cm1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKbXNnc3RyICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKCiM6IHNpZ25hbWUuYzoxNjkKbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCm1zZ3N0ciAiU3RvcHBlZCAoc2lnbmFsKSIKCiM6IHNpZ25hbWUuYzoxNzIKbXNnaWQgIkNQVSB0aW1lIGxpbWl0IGV4Y2VlZGVkIgptc2dzdHIgIkNQVSB0aW1lIGxpbWl0IGV4Y2VlZGVkIgoKIzogc2lnbmFtZS5jOjE3NQptc2dpZCAiRmlsZSBzaXplIGxpbWl0IGV4Y2VlZGVkIgptc2dzdHIgIkZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZCIKCiM6IHNpZ25hbWUuYzoxNzgKbXNnaWQgIlZpcnR1YWwgdGltZXIgZXhwaXJlZCIKbXNnc3RyICJWaXJ0dWFsIHRpbWVyIGV4cGlyZWQiCgojOiBzaWduYW1lLmM6MTgxCm1zZ2lkICJQcm9maWxpbmcgdGltZXIgZXhwaXJlZCIKbXNnc3RyICJQcm9maWxpbmcgdGltZXIgZXhwaXJlZCIKCiM6IHNpZ25hbWUuYzoxODcKbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgptc2dzdHIgIldpbmRvdyBjaGFuZ2VkIgoKIzogc2lnbmFtZS5jOjE5MAptc2dpZCAiQ29udGludWVkIgptc2dzdHIgIkNvbnRpbnVlZCIKCiM6IHNpZ25hbWUuYzoxOTMKbXNnaWQgIlVyZ2VudCBJL08gY29uZGl0aW9uIgptc2dzdHIgIlVyZ2VudCBJL08gY29uZGl0aW9uIgoKIzogc2lnbmFtZS5jOjIwMCBzaWduYW1lLmM6MjA5Cm1zZ2lkICJJL08gcG9zc2libGUiCm1zZ3N0ciAiSS9PIHBvc3NpYmxlIgoKIzogc2lnbmFtZS5jOjIwMwptc2dpZCAiU0lHV0lORCIKbXNnc3RyICJTSUdXSU5EIgoKIzogc2lnbmFtZS5jOjIwNgptc2dpZCAiU0lHUEhPTkUiCm1zZ3N0ciAiU0lHUEhPTkUiCgojOiBzaWduYW1lLmM6MjEyCm1zZ2lkICJSZXNvdXJjZSBsb3N0Igptc2dzdHIgIlJlc291cmNlIGxvc3QiCgojOiBzaWduYW1lLmM6MjE1Cm1zZ2lkICJEYW5nZXIgc2lnbmFsIgptc2dzdHIgIkRhbmdlciBzaWduYWwiCgojOiBzaWduYW1lLmM6MjE4Cm1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0Igptc2dzdHIgIkluZm9ybWF0aW9uIHJlcXVlc3QiCgojOiBzaWduYW1lLmM6MjIxCm1zZ2lkICJGbG9hdGluZyBwb2ludCBjby1wcm9jZXNzb3Igbm90IGF2YWlsYWJsZSIKbXNnc3RyICJGbG9hdGluZyBwb2ludCBjby1wcm9jZXNzb3Igbm90IGF2YWlsYWJsZSIKCiM6IHN0cmNhY2hlLmM6MjEwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiVzICMgb2Ygc3RyaW5ncyBpbiBzdHJjYWNoZTogJWRcbiIKbXNnc3RyICIiCgojOiBzdHJjYWNoZS5jOjIxMQojLCBjLWZvcm1hdAptc2dpZCAiJXMgIyBvZiBzdHJjYWNoZSBidWZmZXJzOiAlZFxuIgptc2dzdHIgIiIKCiM6IHN0cmNhY2hlLmM6MjEyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBzdHJjYWNoZSBzaXplOiB0b3RhbCA9ICVkIC8gbWF4ID0gJWQgLyBtaW4gPSAlZCAvIGF2ZyA9ICVkXG4iCm1zZ3N0ciAiIgoKIzogc3RyY2FjaGUuYzoyMTQKIywgYy1mb3JtYXQKbXNnaWQgIiVzIHN0cmNhY2hlIGZyZWU6IHRvdGFsID0gJWQgLyBtYXggPSAlZCAvIG1pbiA9ICVkIC8gYXZnID0gJWRcbiIKbXNnc3RyICIiCgojICBUaGVzZSBhcmUgcHJpbnRlZCB1bmRlciAtcCwgc28gdGhleSBhcmUgbGVmdCBpbiBFbmdsaXNoLgojOiB2YXJpYWJsZS5jOjEzNjkKbXNnaWQgImRlZmF1bHQiCm1zZ3N0ciAiZGVmYXVsdCIKCiM6IHZhcmlhYmxlLmM6MTM3Mgptc2dpZCAiZW52aXJvbm1lbnQiCm1zZ3N0ciAiZW52aXJvbm1lbnQiCgojOiB2YXJpYWJsZS5jOjEzNzUKbXNnaWQgIm1ha2VmaWxlIgptc2dzdHIgIm1ha2VmaWxlIgoKIzogdmFyaWFibGUuYzoxMzc4Cm1zZ2lkICJlbnZpcm9ubWVudCB1bmRlciAtZSIKbXNnc3RyICJlbnZpcm9ubWVudCB1bmRlciAtZSIKCiM6IHZhcmlhYmxlLmM6MTM4MQptc2dpZCAiY29tbWFuZCBsaW5lIgptc2dzdHIgImNvbW1hbmQgbGluZSIKCiM6IHZhcmlhYmxlLmM6MTM4NAptc2dpZCAiYG92ZXJyaWRlJyBkaXJlY3RpdmUiCm1zZ3N0ciAiYG92ZXJyaWRlJyBkaXJlY3RpdmUiCgojOiB2YXJpYWJsZS5jOjEzODcKbXNnaWQgImF1dG9tYXRpYyIKbXNnc3RyICJhdXRvbWF0aWMiCgojOiB2YXJpYWJsZS5jOjEzOTYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIgKGZyb20gYCVzJywgbGluZSAlbHUpIgptc2dzdHIgIiAoZnJvbSBgJXMnLCBsaW5lICVsdSk6XG4iCgojOiB2YXJpYWJsZS5jOjE0MzgKIywgZnV6enkKbXNnaWQgIiMgdmFyaWFibGUgc2V0IGhhc2gtdGFibGUgc3RhdHM6XG4iCm1zZ3N0ciAiIyAldSB2YXJpYWJsZXMgaW4gJXUgaGFzaCBidWNrZXRzLlxuIgoKIzogdmFyaWFibGUuYzoxNDQ5Cm1zZ2lkICIiCiJcbiIKIiMgVmFyaWFibGVzXG4iCm1zZ3N0ciAiIgoiXG4iCiIjIFZhcmlhYmxlc1xuIgoKIzogdmFyaWFibGUuYzoxNDUzCiMsIGZ1enp5Cm1zZ2lkICIiCiJcbiIKIiMgUGF0dGVybi1zcGVjaWZpYyBWYXJpYWJsZSBWYWx1ZXMiCm1zZ3N0ciAiIgoiXG4iCiIjIFBhdHRlcm4tc3BlY2lmaWMgdmFyaWFibGUgdmFsdWVzIgoKIzogdmFyaWFibGUuYzoxNDY3Cm1zZ2lkICIiCiJcbiIKIiMgTm8gcGF0dGVybi1zcGVjaWZpYyB2YXJpYWJsZSB2YWx1ZXMuIgptc2dzdHIgIiIKIlxuIgoiIyBObyBwYXR0ZXJuLXNwZWNpZmljIHZhcmlhYmxlIHZhbHVlcy4iCgojOiB2YXJpYWJsZS5jOjE0NjkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiIyAldSBwYXR0ZXJuLXNwZWNpZmljIHZhcmlhYmxlIHZhbHVlcyIKbXNnc3RyICIiCiJcbiIKIiMgJXUgcGF0dGVybi1zcGVjaWZpYyB2YXJpYWJsZSB2YWx1ZXMiCgojOiB2YXJpYWJsZS5oOjE4OQojLCBjLWZvcm1hdAptc2dpZCAid2FybmluZzogdW5kZWZpbmVkIHZhcmlhYmxlIGAlLipzJyIKbXNnc3RyICJgJS4qcycg+OPi5e4t6frs4SDk8Pr57iA6+uX46eTmIgoKIzogdm1zZnVuY3Rpb25zLmM6OTQKIywgYy1mb3JtYXQKbXNnaWQgInN5cyRzZWFyY2ggZmFpbGVkIHdpdGggJWRcbiIKbXNnc3RyICIlZCDt8iDs+evwIHN5cyRzZWFyY2hcbiIKCiM6IHZtc2pvYnMuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiV2FybmluZzogRW1wdHkgcmVkaXJlY3Rpb25cbiIKbXNnc3RyICLk9+n4IOTp6fD05CA6+uX46eTmXG4iCgojOiB2bXNqb2JzLmM6MTc1CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnRlcm5hbCBlcnJvcjogYCVzJyBjb21tYW5kX3N0YXRlIgptc2dzdHIgImNvbW1hbmRfc3RhdGUgYCVzJyA6+unu6fD0IOTw6/og+uz3+iIKCiM6IHZtc2pvYnMuYzoyNjgKIywgYy1mb3JtYXQKbXNnaWQgIi13YXJuaW5nLCBDVFJMLVkgd2lsbCBsZWF2ZSBzdWItcHJvY2VzcyhlcykgYXJvdW5kLlxuIgptc2dzdHIgIi765ezp8vQg+uEt+uXp8Ov6IPjp4Pnk7CDs5ezyIENUUkwtWSA6+uX46eTmXG4iCgojOiB2bXNqb2JzLmM6Mjg0CiMsIGMtZm9ybWF0Cm1zZ2lkICItd2FybmluZywgeW91IG1heSBoYXZlIHRvIHJlLWVuYWJsZSBDVFJMLVkgaGFuZGxpbmcgZnJvbSBEQ0wuXG4iCm1zZ3N0ciAiLkRDTC3uIENUUkwtWS3hIOzl9OnoIPjl+fTp4OEg6vjl9iD65enk7CDs5ezyIDr65fjp5OZcbiIKCiM6IHZtc2pvYnMuYzo0MDcKIywgYy1mb3JtYXQKbXNnaWQgIkJVSUxUSU4gWyVzXVslc11cbiIKbXNnc3RyICJCVUlMVElOIFslc11bJXNdXG4iCgojOiB2bXNqb2JzLmM6NDE4CiMsIGMtZm9ybWF0Cm1zZ2lkICJCVUlMVElOIENEICVzXG4iCm1zZ3N0ciAiQlVJTFRJTiBDRCAlc1xuIgoKIzogdm1zam9icy5jOjQzNgojLCBjLWZvcm1hdAptc2dpZCAiQlVJTFRJTiBSTSAlc1xuIgptc2dzdHIgIkJVSUxUSU4gUk0gJXNcbiIKCiM6IHZtc2pvYnMuYzo0NTcKIywgYy1mb3JtYXQKbXNnaWQgIlVua25vd24gYnVpbHRpbiBjb21tYW5kICclcydcbiIKbXNnc3RyICL6+Ovl7iDk8OngICclcyf66fDh5e4g5OPl9/RcbiIKCiM6IHZtc2pvYnMuYzo0NzkKIywgYy1mb3JtYXQKbXNnaWQgIkVycm9yLCBlbXB0eSBjb21tYW5kXG4iCm1zZ3N0ciAi5Pfp+CDk4+X39CA65Oz3+lxuIgoKIzogdm1zam9icy5jOjQ5MQojLCBjLWZvcm1hdAptc2dpZCAiUmVkaXJlY3RlZCBpbnB1dCBmcm9tICVzXG4iCm1zZ3N0ciAiJXMt7iDo7Pcg+unp8PTkXG4iCgojOiB2bXNqb2JzLmM6NDk4CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWRpcmVjdGVkIGVycm9yIHRvICVzXG4iCm1zZ3N0ciAiJXMt7CD65eDp4vkg+unp8PTkXG4iCgojOiB2bXNqb2JzLmM6NTA1CiMsIGMtZm9ybWF0Cm1zZ2lkICJSZWRpcmVjdGVkIG91dHB1dCB0byAlc1xuIgptc2dzdHIgIiVzLewg6Oz0IPrp6fD05FxuIgoKIzogdm1zam9icy5jOjU2OAojLCBjLWZvcm1hdAptc2dpZCAiRXhlY3V0aW5nICVzIGluc3RlYWRcbiIKbXNnc3RyICIlcyD16fjuIPrg5iDt5ffu4VxuIgoKIzogdm1zam9icy5jOjY2OAojLCBjLWZvcm1hdAptc2dpZCAiRXJyb3Igc3Bhd25pbmcsICVkXG4iCm1zZ3N0ciAiJWQgOvrhLfrp8Ov6IPrs8vTk4SDk7Pf6XG4iCgojOiB2cGF0aC5jOjU3MQptc2dpZCAiIgoiXG4iCiIjIFZQQVRIIFNlYXJjaCBQYXRoc1xuIgptc2dzdHIgIiIKIlxuIgoiIyBWUEFUSCBTZWFyY2ggUGF0aHNcbiIKCiM6IHZwYXRoLmM6NTg4Cm1zZ2lkICIjIE5vIGB2cGF0aCcgc2VhcmNoIHBhdGhzLiIKbXNnc3RyICIjIE5vIGB2cGF0aCcgc2VhcmNoIHBhdGhzLiIKCiM6IHZwYXRoLmM6NTkwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiMgJXUgYHZwYXRoJyBzZWFyY2ggcGF0aHMuXG4iCm1zZ3N0ciAiIgoiXG4iCiIjICV1IGB2cGF0aCcgc2VhcmNoIHBhdGhzLlxuIgoKIzogdnBhdGguYzo1OTMKbXNnaWQgIiIKIlxuIgoiIyBObyBnZW5lcmFsIChgVlBBVEgnIHZhcmlhYmxlKSBzZWFyY2ggcGF0aC4iCm1zZ3N0ciAiIgoiXG4iCiIjIE5vIGdlbmVyYWwgKGBWUEFUSCcgdmFyaWFibGUpIHNlYXJjaCBwYXRoLiIKCiM6IHZwYXRoLmM6NTk5Cm1zZ2lkICIiCiJcbiIKIiMgR2VuZXJhbCAoYFZQQVRIJyB2YXJpYWJsZSkgc2VhcmNoIHBhdGg6XG4iCiIjICIKbXNnc3RyICIiCiJcbiIKIiMgR2VuZXJhbCAoYFZQQVRIJyB2YXJpYWJsZSkgc2VhcmNoIHBhdGg6XG4iCiIjICIKCiN+IG1zZ2lkICIiCiN+ICJcbiIKI34gIiMgTm8gZmlsZXMuIgojfiBtc2dzdHIgIiIKI34gIlxuIgojfiAiIyBObyBmaWxlcy4iCgojfiBtc2dpZCAiIgojfiAiXG4iCiN+ICIjICV1IGZpbGVzIGluICV1IGhhc2ggYnVja2V0cy5cbiIKI34gbXNnc3RyICIiCiN+ICJcbiIKI34gIiMgJXUgZmlsZXMgaW4gJXUgaGFzaCBidWNrZXRzLlxuIgoKI34gbXNnaWQgIiMgYXZlcmFnZSAlLjNmIGZpbGVzIHBlciBidWNrZXQsIG1heCAldSBmaWxlcyBpbiBvbmUgYnVja2V0LlxuIgojfiBtc2dzdHIgIiMgYXZlcmFnZSAlLjNmIGZpbGVzIHBlciBidWNrZXQsIG1heCAldSBmaWxlcyBpbiBvbmUgYnVja2V0LlxuIgoKI34gbXNnaWQgIlN5bnRheCBlcnJvciwgc3RpbGwgaW5zaWRlICdcIidcbiIKI34gbXNnc3RyICInXCInIOrl+uEg7+np4/IgLPjp4ef6IPrg6eL5XG4iCgojfiBtc2dpZCAiR290IGEgU0lHQ0hMRDsgJXUgdW5yZWFwZWQgY2hpbGRyZW4uXG4iCiN+IG1zZ3N0ciAiLuX08eDwIO346Pkg+uEt+uXp8Ov6ICV1IDtTSUdDSExEIOzh9/rkXG4iCgojfiBtc2dpZCAiRElSRUNUT1JZIgojfiBtc2dzdHIgIkRJUkVDVE9SWSIKCiN+IG1zZ2lkICJDaGFuZ2UgdG8gRElSRUNUT1JZIGJlZm9yZSBkb2luZyBhbnl0aGluZyIKI34gbXNnc3RyICLk4+Xh8iD67Onn+iDp8PTsIERJUkVDVE9SWS3sIOTp9+n6IOTw+SIKCiN+IG1zZ2lkICJGTEFHUyIKI34gbXNnc3RyICJGTEFHUyIKCiN+IG1zZ2lkICJTdXNwZW5kIHByb2Nlc3MgdG8gYWxsb3cgYSBkZWJ1Z2dlciB0byBhdHRhY2giCiN+IG1zZ3N0ciAi5Ons4CDk9PDu5CD45eHp5yDq+OX27CD66fDr+uQg4ffyIgoKI34gbXNnaWQgIkVudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSBtYWtlZmlsZXMiCiN+IG1zZ3N0ciAibWFrZWZpbGUt4SDt6fD6+e4g7enx+OXjIOTh6eHxIOnw+vnuIgoKI34gbXNnaWQgIkZJTEUiCiN+IG1zZ3N0ciAiRklMRSIKCiN+IG1zZ2lkICJSZWFkIEZJTEUgYXMgYSBtYWtlZmlsZSIKI34gbXNnc3RyICJtYWtlZmlsZS3rIEZJTEUg4Pj3IgoKI34gbXNnaWQgIlNlYXJjaCBESVJFQ1RPUlkgZm9yIGluY2x1ZGVkIG1ha2VmaWxlcyIKI34gbXNnc3RyICJESVJFQ1RPUlkt4SDt6ezs6/AgbWFrZWZpbGUg6fbh9yD59OciCgojfiBtc2dpZCAiRG9uJ3Qgc3RhcnQgbXVsdGlwbGUgam9icyB1bmxlc3MgbG9hZCBpcyBiZWxvdyBOIgojfiBtc2dzdHIgIk4t7CD65/ruIPHu5fLkIO3gIODs4CD65eHl+O4g+uXj5eHyIOzp5/r6IOzgIgoKI34gbXNnaWQgIkRvbid0IGFjdHVhbGx5IHJ1biBhbnkgY29tbWFuZHM7IGp1c3QgcHJpbnQgdGhlbSIKI34gbXNnc3RyICLt+uXgIPH04+Qg9/ggO+zs6yD65ePl9/Qg9en4+iDs4CIKCiN+IG1zZ2lkICJDb25zaWRlciBGSUxFIHRvIGJlIHZlcnkgb2xkIGFuZCBkb24ndCByZW1ha2UgaXQiCiN+IG1zZ3N0ciAi+ePn7iDl+uXgIOTw4fog7ODlICzv+ekg4+DuIOTp5CDl7Ong6yBGSUxFLeEg4uTwIgoKI34gbXNnaWQgIkRvbid0IGVjaG8gY29tbWFuZHMiCiN+IG1zZ3N0ciAi+uXy9uXh7iD64+X39CDi6fb6IOzgIgoKI34gbXNnaWQgIlR1cm5zIG9mZiAtayIKI34gbXNnc3RyICItayDs6OHuIgoKI34gbXNnaWQgIkNvbnNpZGVyIEZJTEUgdG8gYmUgaW5maW5pdGVseSBuZXciCiN+IG1zZ3N0ciAi+Pn04Pkg+ePnIOnr5CDk6eQgRklMRSDl7Ong6yDi5PAiCgojfiBtc2dpZCAiRG8gbm90IHNwZWNpZnkgLWogb3IgLS1qb2JzIGlmIHNoLmV4ZSBpcyBub3QgYXZhaWxhYmxlLiIKI34gbXNnc3RyICIu7+nu5iDl8OngIHNoLmV4ZSDt4CAtLWpvYnMg5eAgLWot4SDq5e767CDv+unwIODsIgoKI34gbXNnaWQgIlJlc2V0dGluZyBtYWtlIGZvciBzaW5nbGUgam9iIG1vZGUuIgojfiBtc2dzdHIgIi7p+vjj8SDv9OXg4SDl8vbl4ekg+uXj5ff0IgoKI34gbXNnaWQgIkVudGVyaW5nIgojfiBtc2dzdHIgIkVudGVyaW5nIgoKI34gbXNnaWQgIkxlYXZpbmciCiN+IG1zZ3N0ciAiTGVhdmluZyIKCiN+IG1zZ2lkICJubyBmaWxlIG5hbWUgZm9yIGAlc2luY2x1ZGUnIgojfiBtc2dzdHIgIvXh5fcg7fkg4OzsIGAlc2luY2x1ZGUnIPrg+OXkIgoKI34gbXNnaWQgInRhcmdldCBgJXMnIGxlYXZlcyBwcmVyZXF1aXNpdGUgcGF0dGVybiBlbXB0eSIKI34gbXNnc3RyICLk9+n4IO3j9+Qg+vnp+OMg+unw4fog+uAg5Pjp4PnuIGAlcycg5Pjo7iIKCiN+IG1zZ2lkICIjIE5vIHZhcmlhYmxlcy4iCiN+IG1zZ3N0ciAiIyBObyB2YXJpYWJsZXMuIgoKI34gbXNnaWQgIiMgYXZlcmFnZSBvZiAlLjFmIHZhcmlhYmxlcyBwZXIgYnVja2V0LCBtYXggJXUgaW4gb25lIGJ1Y2tldC5cbiIKI34gbXNnc3RyICIjIGF2ZXJhZ2Ugb2YgJS4xZiB2YXJpYWJsZXMgcGVyIGJ1Y2tldCwgbWF4ICV1IGluIG9uZSBidWNrZXQuXG4iCgojfiBtc2dpZCAiIyBhdmVyYWdlIG9mICVkLiVkIHZhcmlhYmxlcyBwZXIgYnVja2V0LCBtYXggJXUgaW4gb25lIGJ1Y2tldC5cbiIKI34gbXNnc3RyICIjIGF2ZXJhZ2Ugb2YgJWQuJWQgdmFyaWFibGVzIHBlciBidWNrZXQsIG1heCAldSBpbiBvbmUgYnVja2V0LlxuIgo=