IyBBIEdOVSBzZWQgbWFneWFyIGZvcmTtdOFzYQojIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBNaWjhbHkgR3l1bGFpIDxneXVsYWlAZmJpLmh1PiwgMjAwMywyMDA0LgojIEZpcnN0IHRyYW5zbGF0b3I6IEfhYm9yIElzdHbhbiA8c3RpdmVAbWV6b2JlcmVueS5odT4sIDIwMDIuCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBzZWQgNC4xLjFcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctZ251LXV0aWxzQGdudS5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEyLTEyLTIyIDE0OjM2KzAxMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDQtMDctMjAgMTg6NDkrMDIwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBNaWjhbHkgR3l1bGFpIDxneXVsYWlAZmJpLmh1PlxuIgoiTGFuZ3VhZ2UtVGVhbTogSHVuZ2FyaWFuIDx0cmFuc2xhdGlvbi10ZWFtLWh1QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKIkxhbmd1YWdlOiBodVxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0yXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgoKIzogc2VkL2NvbXBpbGUuYzoxNDQKbXNnaWQgIm11bHRpcGxlIGAhJ3MiCm1zZ3N0ciAiVPZiYiBgISciCgojOiBzZWQvY29tcGlsZS5jOjE0NQptc2dpZCAidW5leHBlY3RlZCBgLCciCm1zZ3N0ciAiVuFyYXRsYW4gYCwnIgoKIzogc2VkL2NvbXBpbGUuYzoxNDYKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgK04gb3Igfk4gYXMgZmlyc3QgYWRkcmVzcyIKbXNnc3RyICJOZW0gbGVoZXQgaGFzem7hbG5pIGEgK04tdCB2YWd5IH5OLXQgZWxz9SBj7W1r6W50IgoKIzogc2VkL2NvbXBpbGUuYzoxNDcKbXNnaWQgInVubWF0Y2hlZCBgeyciCm1zZ3N0ciAiTmluY3MgcOFyYmFuIGB7JyIKCiM6IHNlZC9jb21waWxlLmM6MTQ4Cm1zZ2lkICJ1bmV4cGVjdGVkIGB9JyIKbXNnc3RyICJOaW5jcyBw4XJiYW4gYH0nIgoKIzogc2VkL2NvbXBpbGUuYzoxNDkKbXNnaWQgImV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgY29tbWFuZCIKbXNnc3RyICJFeHRyYSBrYXJha3RlcmVrIGEgcGFyYW5jcyB1dOFuIgoKIzogc2VkL2NvbXBpbGUuYzoxNTAKbXNnaWQgImV4cGVjdGVkIFxcIGFmdGVyIGBhJywgYGMnIG9yIGBpJyIKbXNnc3RyICJgYScsIGBjJyB2YWd5IGBpJyBwYXJhbmNzIHV04W4gXFwgc3r8a3PpZ2VzIgoKIzogc2VkL2NvbXBpbGUuYzoxNTEKbXNnaWQgImB9JyBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJgfScgbmVtIGln6W55ZWwgY+1teulzdCIKCiM6IHNlZC9jb21waWxlLmM6MTUyCm1zZ2lkICI6IGRvZXNuJ3Qgd2FudCBhbnkgYWRkcmVzc2VzIgptc2dzdHIgIjogbmVtIGln6W55ZWwgY+1teulzdCIKCiM6IHNlZC9jb21waWxlLmM6MTUzCm1zZ2lkICJjb21tZW50cyBkb24ndCBhY2NlcHQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJNZWdqZWd5eulzYmVuIG5lbSBsZWhldCBj7W166XMiCgojOiBzZWQvY29tcGlsZS5jOjE1NAptc2dpZCAibWlzc2luZyBjb21tYW5kIgptc2dzdHIgIkhp4W55evMgcGFyYW5jcyIKCiM6IHNlZC9jb21waWxlLmM6MTU1Cm1zZ2lkICJjb21tYW5kIG9ubHkgdXNlcyBvbmUgYWRkcmVzcyIKbXNnc3RyICJBIHBhcmFuY3MgY3NhayBlZ3kgY+1teulzdCBoYXN6buFsIgoKIzogc2VkL2NvbXBpbGUuYzoxNTYKbXNnaWQgInVudGVybWluYXRlZCBhZGRyZXNzIHJlZ2V4Igptc2dzdHIgIkJlZmVqZXpldGxlbiByZWdleCBj7W0iCgojOiBzZWQvY29tcGlsZS5jOjE1Nwptc2dpZCAidW50ZXJtaW5hdGVkIGBzJyBjb21tYW5kIgptc2dzdHIgIkJlZmVqZXpldGxlbiBgcycgcGFyYW5jcyIKCiM6IHNlZC9jb21waWxlLmM6MTU4Cm1zZ2lkICJ1bnRlcm1pbmF0ZWQgYHknIGNvbW1hbmQiCm1zZ3N0ciAiQmVmZWplemV0bGVuIGB5JyBwYXJhbmNzIgoKIzogc2VkL2NvbXBpbGUuYzoxNTkKbXNnaWQgInVua25vd24gb3B0aW9uIHRvIGBzJyIKbXNnc3RyICJJc21lcmV0bGVuIGBzJyBvcGNp8yIKCiM6IHNlZC9jb21waWxlLmM6MTYwCm1zZ2lkICJtdWx0aXBsZSBgcCcgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJ09mJic3r2cvZzIGBwJyBvcGNp8ywgYHMnIHBhcmFuY3MgbWVsbGV0dCIKCiM6IHNlZC9jb21waWxlLmM6MTYxCm1zZ2lkICJtdWx0aXBsZSBgZycgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJ09mJic3r2cvZzIGBnJyBvcGNp8ywgYHMnIHBhcmFuY3MgbWVsbGV0dCIKCiM6IHNlZC9jb21waWxlLmM6MTYyCm1zZ2lkICJtdWx0aXBsZSBudW1iZXIgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJ09mJic3r2cvZzIHN64W0gb3BjafMsIGBzJyBwYXJhbmNzIG1lbGxldHQiCgojOiBzZWQvY29tcGlsZS5jOjE2Mwptc2dpZCAibnVtYmVyIG9wdGlvbiB0byBgcycgY29tbWFuZCBtYXkgbm90IGJlIHplcm8iCm1zZ3N0ciAiYSh6KSBgcycgcGFyYW5jcyBzeuFtIG9wY2nzamEgbmVtIGxlaGV0IG51bGxhIgoKIzogc2VkL2NvbXBpbGUuYzoxNjQKbXNnaWQgInN0cmluZ3MgZm9yIGB5JyBjb21tYW5kIGFyZSBkaWZmZXJlbnQgbGVuZ3RocyIKbXNnc3RyICJhKHopIGB5JyBwYXJhbmNzIHN69nZlZ2VpbmVrIGhvc3N6YSBr/Gz2bmL2evUiCgojOiBzZWQvY29tcGlsZS5jOjE2NQptc2dpZCAiZGVsaW1pdGVyIGNoYXJhY3RlciBpcyBub3QgYSBzaW5nbGUtYnl0ZSBjaGFyYWN0ZXIiCm1zZ3N0ciAiYXogZWx24Wxhc3p08yBrYXJha3RlciBuZW0gZWd5IGLhanRi82wg4WxsIgoKIzogc2VkL2NvbXBpbGUuYzoxNjYKbXNnaWQgImV4cGVjdGVkIG5ld2VyIHZlcnNpb24gb2Ygc2VkIgptc2dzdHIgImEgJ3NlZCcgcHJvZ3JhbSD6amFiYiB2ZXJ6afNq4XJhIHZhbiBzevxrc+lnIgoKIzogc2VkL2NvbXBpbGUuYzoxNjcKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgbGluZSBhZGRyZXNzIDAiCm1zZ3N0ciAiyXJ26W55dGVsZW4gMCBj7W166XMiCgojOiBzZWQvY29tcGlsZS5jOjE2OAojLCBjLWZvcm1hdAptc2dpZCAidW5rbm93biBjb21tYW5kOiBgJWMnIgptc2dzdHIgIklzbWVyZXRsZW4gcGFyYW5jczogYCVjJyIKCiM6IHNlZC9jb21waWxlLmM6MTY5CiMsIGZ1enp5Cm1zZ2lkICJpbmNvbXBsZXRlIGNvbW1hbmQiCm1zZ3N0ciAiSGnhbnl68yBwYXJhbmNzIgoKIzogc2VkL2NvbXBpbGUuYzoxOTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlICVzIGxpbmUgJWx1OiAlc1xuIgptc2dzdHIgIiVzOiBm4WpsICVzIHNvciAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjE5NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC1lIGV4cHJlc3Npb24gIyVsdSwgY2hhciAlbHU6ICVzXG4iCm1zZ3N0ciAiJXM6IC1lIGtpZmVqZXrpcyAjJWx1LCBrYXJha3RlciAlbHU6ICVzXG4iCgojOiBzZWQvY29tcGlsZS5jOjE2NTcKIywgYy1mb3JtYXQKbXNnaWQgImNhbid0IGZpbmQgbGFiZWwgZm9yIGp1bXAgdG8gYCVzJyIKbXNnc3RyICJBeiB1Z3Lhc2hveiAoYCVzJykgbmVtIHRhbOFsb20gYSBj7W1r6XQiCgojOiBzZWQvZXhlY3V0ZS5jOjU5NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IHJlYWQgJXM6ICVzXG4iCm1zZ3N0ciAiJXM6IG5lbSBsZWhldCBvbHZhc25pICVzOiAlc1xuIgoKIzogc2VkL2V4ZWN1dGUuYzo2MjQKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGVkaXQgJXM6IGlzIGEgdGVybWluYWwiCm1zZ3N0ciAibmVtIGxlaGV0IHN6ZXJrZXN6dGVuaSAoJXMpOiB0ZXJtaW7hbCIKCiM6IHNlZC9leGVjdXRlLmM6NjI5CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBlZGl0ICVzOiBub3QgYSByZWd1bGFyIGZpbGUiCm1zZ3N0ciAibmVtIGxlaGV0IHN6ZXJrZXN6dGVuaSAoJXMpOiBuZW0gc3phYuFseW9zIGbhamwiCgojOiBzZWQvZXhlY3V0ZS5jOjY0MAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBzZXQgZGVmYXVsdCBmaWxlIGNyZWF0aW9uIGNvbnRleHQgdG8gJXM6ICVzIgptc2dzdHIgIiIKCiM6IHNlZC9leGVjdXRlLmM6NjQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogd2FybmluZzogZmFpbGVkIHRvIGdldCBzZWN1cml0eSBjb250ZXh0IG9mICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjY2NCBzZWQvdXRpbHMuYzoyMTEKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUgJXM6ICVzIgptc2dzdHIgIk5lbSBsZWhldCBtZWdueWl0bmkgYXog4XRtZW5ldGkgZuFqbHQ6ICVzOiAlcyIKCiM6IHNlZC9leGVjdXRlLmM6MTE5MyBzZWQvZXhlY3V0ZS5jOjEzNzMKbXNnaWQgImVycm9yIGluIHN1YnByb2Nlc3MiCm1zZ3N0ciAiaGliYSBheiBhbGZvbHlhbWF0YmFuIgoKIzogc2VkL2V4ZWN1dGUuYzoxMTk1Cm1zZ2lkICJvcHRpb24gYGUnIG5vdCBzdXBwb3J0ZWQiCm1zZ3N0ciAiYXogYGUnIG9wY2nzIG5pbmNzIHThbW9nYXR2YSIKCiM6IHNlZC9leGVjdXRlLmM6MTM3NQptc2dpZCAiYGUnIGNvbW1hbmQgbm90IHN1cHBvcnRlZCIKbXNnc3RyICJheiBgZScgcGFyYW5jcyBuaW5jcyB04W1vZ2F0dmEiCgojOiBzZWQvZXhlY3V0ZS5jOjE3MjUKbXNnaWQgIm5vIGlucHV0IGZpbGVzIgptc2dzdHIgIiIKCiM6IHNlZC9yZWdleHAuYzozOQptc2dpZCAibm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIk5pbmNzZW4gZWz1evUgcmVndWzhcmlzIGtpZmVqZXrpcyIKCiM6IHNlZC9yZWdleHAuYzo0MAptc2dpZCAiY2Fubm90IHNwZWNpZnkgbW9kaWZpZXJzIG9uIGVtcHR5IHJlZ2V4cCIKbXNnc3RyICJOZW0gbGVoZXQgbfNkb3PtdPN0IG1lZ2Fkbmkg/HJlcyByZWd1bOFyaXMga2lmZWpleulzaGV6IgoKIzogc2VkL3JlZ2V4cC5jOjEyOQojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCByZWZlcmVuY2UgXFwlZCBvbiBgcycgY29tbWFuZCdzIFJIUyIKbXNnc3RyICJIaWLhcyBoaXZhdGtveuFzIChcXCVkKSBhKHopIGBzJyBwYXJhbmNzIFJIUy3pcmUiCgojOiBzZWQvc2VkLmM6MzIKbXNnaWQgIkpheSBGZW5sYXNvbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MzMKbXNnaWQgIlRvbSBMb3JkIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzozNAptc2dpZCAiS2VuIFBpenppbmkiCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjM1Cm1zZ2lkICJQYW9sbyBCb256aW5pIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzo3OQojLCBjLWZvcm1hdAptc2dpZCAiIgoiR05VIHNlZCBob21lIHBhZ2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2VkLz4uXG4iCiJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6ODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIiCiJFLW1haWwgYnVnIHJlcG9ydHMgdG86IDwlcz4uXG4iCiJCZSBzdXJlIHRvIGluY2x1ZGUgdGhlIHdvcmQgYGAlcycnIHNvbWV3aGVyZSBpbiB0aGUgYGBTdWJqZWN0OicnIGZpZWxkLlxuIgptc2dzdHIgIiIKIkEgZm9yZO104XNpIGhpYuFrYXQga+lyZW0gYSBneXVsYWlAZmJpLmh1IGPtbXJlIGv8bGRlbmkuIFxuIgoiQW5nb2x1bCBpZGUgbGVoZXQgYSBoaWLha3LzbCDtcm5pOiAlcyAuIEEgbGV26WwgXCJU4XJneTpcIiBtZXplauliZW4gXG4iCiJsZWd5ZW4gb3R0IGEgYCVzJyBzevMuXG4iCgojOiBzZWQvc2VkLmM6OTkKbXNnaWQgIiIKIiAgLVIsIC0tcmVnZXhwLXBlcmxcbiIKIiAgICAgICAgICAgICAgICAgdXNlIFBlcmwgNSdzIHJlZ3VsYXIgZXhwcmVzc2lvbnMgc3ludGF4IGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtUiAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgUGVybCA1IHJlZ3Vs4XJpcyBraWZlamV66XMgbnllbHZ0YW7hbmFrIGhhc3pu4WxhdGEuXG4iCgojOiBzZWQvc2VkLmM6MTA0CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJVc2FnZTogJXMgW09QVElPTl0uLi4ge3NjcmlwdC1vbmx5LWlmLW5vLW90aGVyLXNjcmlwdH0gW2lucHV0LWZpbGVdLi4uXG4iCiJcbiIKbXNnc3RyICIiCiJIYXN6buFsYXQ6ICVzIFtPUENJ010uLi4ge2jpanByb2dyYW19IFtiZW1lbmV0aSBm4WpsXS4uLlxuIgoiXG4iCgojOiBzZWQvc2VkLmM6MTA4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKbXNnc3RyICIiCiIgIC1uLCAtLXF1aWV0LCAtLXNpbGVudFxuIgoiICAgICAgICAgICAgIG1pbnRhIG55b210YXThc+FuYWsgbWVsbPV66XNlXG4iCgojOiBzZWQvc2VkLmM6MTEwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1lIHNjcmlwdCwgLS1leHByZXNzaW9uPXNjcmlwdFxuIgoiICAgICAgICAgICAgICAgICBhZGQgdGhlIHNjcmlwdCB0byB0aGUgY29tbWFuZHMgdG8gYmUgZXhlY3V0ZWRcbiIKbXNnc3RyICIiCiIgIC1lIGjpanByb2dyYW0sIC0tZXhwcmVzc2lvbj1o6Wpwcm9ncmFtXG4iCiIgICAgICAgICAgICAgICAgIGjpanByb2dyYW0gaG96euFhZOFzYSBhIHbpZ3JlaGFqdGFuZPMgcGFyYW5jc29raG96XG4iCgojOiBzZWQvc2VkLmM6MTEyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1mIHNjcmlwdC1maWxlLCAtLWZpbGU9c2NyaXB0LWZpbGVcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBjb250ZW50cyBvZiBzY3JpcHQtZmlsZSB0byB0aGUgY29tbWFuZHMgdG8gYmUgIgoiZXhlY3V0ZWRcbiIKbXNnc3RyICIiCiIgIC1mLCBo6Wpwcm9ncmFtLCAtLWZpbGU9aOlqcHJvZ3JhbVxuIgoiICAgICAgICAgICAgICAgYSBtZWdhZG90dCBo6Wpwcm9ncmFtIGhvenrhYWThc2EgYSB26WdyZWhhanRhbmTzICIKInBhcmFuY3Nva2hvelxuIgoKIzogc2VkL3NlZC5jOjExNQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLWZvbGxvdy1zeW1saW5rc1xuIgoiICAgICAgICAgICAgICAgICBmb2xsb3cgc3ltbGlua3Mgd2hlbiBwcm9jZXNzaW5nIGluIHBsYWNlXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjExOAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWlbU1VGRklYXSwgLS1pbi1wbGFjZVs9U1VGRklYXVxuIgoiICAgICAgICAgICAgICAgICBlZGl0IGZpbGVzIGluIHBsYWNlIChtYWtlcyBiYWNrdXAgaWYgU1VGRklYIHN1cHBsaWVkKVxuIgptc2dzdHIgIiIKIiAgLWlbU1pVRkZJWF0sIC0taW4tcGxhY2VbPVNaVUZGSVhdXG4iCiIgICAgICAgICAgICAgICBm4Wpsb2sgc3plcmtlc3p06XNlIGEgbWVnYWRvdHQgaGVseWVuIChoYSB2YW4gc3p1ZmZpeCwgYWtrb3JcbiIKIiAgICAgICAgICAgICAgIG1lbnTpcyBpcyBr6XN6/GwpXG4iCgojOiBzZWQvc2VkLmM6MTIxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBvcGVuIGZpbGVzIGluIGJpbmFyeSBtb2RlIChDUitMRnMgYXJlIG5vdCBwcm9jZXNzZWQgIgoic3BlY2lhbGx5KVxuIgptc2dzdHIgIiIKCiM6IHNlZC9zZWQuYzoxMjQKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiIgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIGRlc2lyZWQgbGluZS13cmFwIGxlbmd0aCBmb3IgdGhlIGBsJyBjb21tYW5kXG4iCm1zZ3N0ciAiIgoiICAtbCBOLCAtLWxpbmUtbGVuZ3RoPU5cbiIKIiAgICAgc29yLWhvc3N6IG1lZ2Fk4XNhIGF6IGBsJyBwYXJhbmNzaG96XG4iCgojOiBzZWQvc2VkLmM6MTI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC0tcG9zaXhcbiIKIiAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgR05VIGV4dGVuc2lvbnMuXG4iCm1zZ3N0ciAiIgoiICAtLXBvc2l4XG4iCiIgICAgICAgIGEgR05VIGL1du106XNlayBraWthcGNzb2zhc2FcbiIKCiM6IHNlZC9zZWQuYzoxMjgKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgLXIsIC0tcmVnZXhwLWV4dGVuZGVkXG4iCiIgICAgICAgICAgICAgICAgIHVzZSBleHRlbmRlZCByZWd1bGFyIGV4cHJlc3Npb25zIGluIHRoZSBzY3JpcHQuXG4iCm1zZ3N0ciAiIgoiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKIiAgICAgICAgICAgICAgICBraXRlcmplc3p0ZXR0IHJlZ3Vs4XJpcyBraWZlamV66XNlayBoYXN6buFsYXRhLlxuIgoKIzogc2VkL3NlZC5jOjEzMwojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlciBmaWxlcyBhcyBzZXBhcmF0ZSByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSAiCiJjb250aW51b3VzXG4iCiIgICAgICAgICAgICAgICAgIGxvbmcgc3RyZWFtLlxuIgptc2dzdHIgIiIKIiAgLXMsIC0tc2VwYXJhdGVcbiIKIiAgICAgIGEgZuFqbG9rYXQga/xs9m4ga2V6ZWxq/GssIGVneWV0bGVuIGZvbHlhbWF0b3MgYWRhdGZvbHlhbSBoZWx5ZXR0XG4iCgojOiBzZWQvc2VkLmM6MTM2CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgICAgICAgICAgICAgbG9hZCBtaW5pbWFsIGFtb3VudHMgb2YgZGF0YSBmcm9tIHRoZSBpbnB1dCBmaWxlcyBhbmQgIgoiZmx1c2hcbiIKIiAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBidWZmZXJzIG1vcmUgb2Z0ZW5cbiIKbXNnc3RyICIiCiIgIC11LCAtLXVuYnVmZmVyZWRcbiIKIiAgICAgIGtldulzIGFkYXQgYmV09mx06XNlIGEgYmVtZW5ldGkgZuFqbG9rYvNsIOlzIGEga2ltZW5ldGkgcHVmZmVyZWtcbiIKIiAgICAgIGd5YWtvcmkg/HLtdOlzZVxuIgoKIzogc2VkL3NlZC5jOjEzOQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAteiwgLS1udWxsLWRhdGFcbiIKIiAgICAgICAgICAgICAgICAgc2VwYXJhdGUgbGluZXMgYnkgTlVMIGNoYXJhY3RlcnNcbiIKbXNnc3RyICIiCgojOiBzZWQvc2VkLmM6MTQxCiMsIGMtZm9ybWF0Cm1zZ2lkICIgICAgICAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCm1zZ3N0ciAiICAtLWhlbHAgICAgICBrae1yamEgZXp0IGF6IG9sZGFsdCDpcyBraWzpcFxuIgoKIzogc2VkL3NlZC5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAiICAgICAgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgptc2dzdHIgIiAgLS12ZXJzaW9uICAga2ntcmphIGEgcHJvZ3JhbXZlcnpp83Qg6XMga2ls6XBcbiIKCiM6IHNlZC9zZWQuYzoxNDMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJIYSBuaW5jcyBtZWdhZHZhIC1lLCAtLWV4cHJlc3Npb24sIC1mIHZhZ3kgLS1maWxlIG9wY2nzLCBha2tvciBheiBlbHP1XG4iCiJuZW0tb3BjafMgcGFyYW3pdGVydCBo6Wpwcm9ncmFtbmFrIHRla2ludGr8ay4gTWluZGVuIHRvduFiYmkgcGFyYW3pdGVyXG4iCiJm4Wpsbul2bmVrIHN64W3tdC4gSGEgbmluY3MgbWVnYWR2YSBm4Wpsbul2LCBha2tvciBhIHN6b2vhc29zIGJlbWVuZXRy9WxcbiIKIm9sdmFzLlxuIgoiXG4iCgojOiBzZWQvdXRpbHMuYzo3NCBzZWQvdXRpbHMuYzo0MzIKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW1vdmUgJXM6ICVzIgptc2dzdHIgIm5lbSBsZWhldCB09nL2bG5pICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjE0NAojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3Qgb3BlbiBmaWxlICVzOiAlcyIKbXNnc3RyICJOZW0gbGVoZXQgbWVnbnlpdG5pIGEoeikgJXMgZuFqbHQ6ICVzIgoKIzogc2VkL3V0aWxzLmM6MTY3CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgYXR0YWNoIHRvICVzOiAlcyIKbXNnc3RyICJuZW0gdHVkb20gYSh6KSAlZCBlbGVtZXQgaWRlIO1ybmkgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MjI5CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtIHRvICVzOiAlcyIKbXNnaWRfcGx1cmFsICJjb3VsZG4ndCB3cml0ZSAlZCBpdGVtcyB0byAlczogJXMiCm1zZ3N0clswXSAibmVtIHR1ZG9tIGEoeikgJWQgZWxlbWV0IGlkZSDtcm5pICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjI0NCBzZWQvdXRpbHMuYzoyNjcKIywgYy1mb3JtYXQKbXNnaWQgInJlYWQgZXJyb3Igb24gJXM6ICVzIgptc2dzdHIgIm9sdmFz4XNpIGhpYmEgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MzcyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZm9sbG93IHN5bWxpbmsgJXM6ICVzIgptc2dzdHIgIk5lbSBsZWhldCBtZWdueWl0bmkgYSh6KSAlcyBm4WpsdDogJXMiCgojOiBzZWQvdXRpbHMuYzo0MDYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3Qgc3RhdCAlczogJXMiCm1zZ3N0ciAibmVtIGxlaGV0IOF0bmV2ZXpuaSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzo0MzcKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZW5hbWUgJXM6ICVzIgptc2dzdHIgIm5lbSBsZWhldCDhdG5ldmV6bmkgJXM6ICVzIgoKIzogbGliL3JlZ2NvbXAuYzoxMzIKbXNnaWQgIlN1Y2Nlc3MiCm1zZ3N0ciAiU2lrZXJlcyIKCiM6IGxpYi9yZWdjb21wLmM6MTM1Cm1zZ2lkICJObyBtYXRjaCIKbXNnc3RyICJOaW5jcyB0YWzhbGF0IgoKIzogbGliL3JlZ2NvbXAuYzoxMzgKbXNnaWQgIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkhpYuFzIHJlZ3Vs4XJpcyBraWZlamV66XMiCgojOiBsaWIvcmVnY29tcC5jOjE0MQptc2dpZCAiSW52YWxpZCBjb2xsYXRpb24gY2hhcmFjdGVyIgptc2dzdHIgIslydulueXRlbGVuIPZzc3plaGFzb25s7XTzIGthcmFrdGVyIgoKIzogbGliL3JlZ2NvbXAuYzoxNDQKbXNnaWQgIkludmFsaWQgY2hhcmFjdGVyIGNsYXNzIG5hbWUiCm1zZ3N0ciAiyXJ26W55dGVsZW4ga2FyYWt0ZXJvc3p04Wx5LW7pdiIKCiM6IGxpYi9yZWdjb21wLmM6MTQ3Cm1zZ2lkICJUcmFpbGluZyBiYWNrc2xhc2giCm1zZ3N0ciAiTGV64XLzIHZpc3N6YXBlcmplbCIKCiM6IGxpYi9yZWdjb21wLmM6MTUwCm1zZ2lkICJJbnZhbGlkIGJhY2sgcmVmZXJlbmNlIgptc2dzdHIgIslydulueXRlbGVuIHZpc3N6YS1oaXZhdGtveuFzIgoKIzogbGliL3JlZ2NvbXAuYzoxNTMKbXNnaWQgIlVubWF0Y2hlZCBbIG9yIFteIgptc2dzdHIgIk5pbmNzIHDhcmJhbiBbIHZhZ3kgW14iCgojOiBsaWIvcmVnY29tcC5jOjE1Ngptc2dpZCAiVW5tYXRjaGVkICggb3IgXFwoIgptc2dzdHIgIk5pbmNzIHDhcmJhbiAoIHZhZ3kgXFwoIgoKIzogbGliL3JlZ2NvbXAuYzoxNTkKbXNnaWQgIlVubWF0Y2hlZCBcXHsiCm1zZ3N0ciAiTmluY3MgcOFyYmFuIFxceyIKCiM6IGxpYi9yZWdjb21wLmM6MTYyCm1zZ2lkICJJbnZhbGlkIGNvbnRlbnQgb2YgXFx7XFx9Igptc2dzdHIgIlxce1xcfS1uYWsg6XJ26W55dGVsZW4gYSB0YXJ0YWxtYSIKCiM6IGxpYi9yZWdjb21wLmM6MTY1Cm1zZ2lkICJJbnZhbGlkIHJhbmdlIGVuZCIKbXNnc3RyICJTb3JvemF0IOlydulueXRlbGVuIHbpZ2UiCgojOiBsaWIvcmVnY29tcC5jOjE2OAptc2dpZCAiTWVtb3J5IGV4aGF1c3RlZCIKbXNnc3RyICJLZXbpcyBhIG1lbfNyaWEiCgojOiBsaWIvcmVnY29tcC5jOjE3MQptc2dpZCAiSW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIslydulueXRlbGVuIG1lZ2Vs9Xr1IHJlZ3Vs4XJpcyBraWZlamV66XMiCgojOiBsaWIvcmVnY29tcC5jOjE3NAptc2dpZCAiUHJlbWF0dXJlIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiUmVndWzhcmlzIGtpZmVqZXrpcyB0+mwga29yYWkgdulnZSIKCiM6IGxpYi9yZWdjb21wLmM6MTc3Cm1zZ2lkICJSZWd1bGFyIGV4cHJlc3Npb24gdG9vIGJpZyIKbXNnc3RyICJU+mwgbmFneSByZWd1bOFyaXMga2lmZWpleulzIgoKIzogbGliL3JlZ2NvbXAuYzoxODAKbXNnaWQgIlVubWF0Y2hlZCApIG9yIFxcKSIKbXNnc3RyICJOaW5jcyBw4XJiYW4gKSB2YWd5IFxcKSIKCiM6IGxpYi9yZWdjb21wLmM6NzA1Cm1zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiTmluY3NlbiBlbPV69SByZWd1bOFyaXMga2lmZWpleulzIgoKI34gbXNnaWQgInN1cGVyLXNlZCB2ZXJzaW9uICVzXG4iCiN+IG1zZ3N0ciAic3VwZXItc2VkIHZlcnpp8yAlc1xuIgoKI34gbXNnaWQgIiIKI34gImJhc2VkIG9uIEdOVSBzZWQgdmVyc2lvbiAlc1xuIgojfiAiXG4iCiN+IG1zZ3N0ciAiIgojfiAiQSBHTlUgJXMgc2VkIHZlcnpp824gYWxhcHN6aWtcbiIKI34gIlxuIgoKI34gbXNnaWQgIkdOVSBzZWQgdmVyc2lvbiAlc1xuIgojfiBtc2dzdHIgIkdOVSBzZWQgdmVyemnzICVzXG4iCgojfiBtc2dpZCAiIgojfiAiJXNcbiIKI34gIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzICIKI34gIk5PXG4iCiN+ICJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgIgojfiAiUFVSUE9TRSxcbiIKI34gInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKI34gbXNnc3RyICIiCiN+ICIlc1xuIgojfiAiRXogZWd5IGluZ3llbmVzIHN64W3tdPNn6XBlcyBwcm9ncmFtLiBBIGZvcnLhc2JhbiBtZWd0YWzhbGhhdPNrIGEgXG4iCiN+ICJwcm9ncmFtdGVyamVzenTpcyBmZWx06XRlbGVpLlxuIgojfiAiU0VNTUlMWUVOIGdhcmFuY2nhdCBuZW0gduFsbGFsdW5rLCBt6WcgYXp0IHNlbSDhbGztdGp1aywgaG9neSBleiBhICIKI34gInByb2dyYW1cbiIKI34gIktFUkVTS0VERUxNSSBDyUxPS1JBIEFMS0FMTUFTIHZhZ3kgSEFTWk7BTEhBVNMgRUdZIEFET1RUIEZFTEFEQVRSQS5cbiIK