IyBUcmFkdef1ZXMgcGFyYSBvIHBvcnR1Z3XqcyBkbyBCcmFzaWwgZGFzIG1lbnNhZ2VucyBkZSBlcnJvIGRvIHNlZAojIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgc2VkIHBhY2thZ2UuCiMgQXVyZWxpbyBKYXJnYXMgPHZlcmRlQGF1cmVsaW8ubmV0PiwgMTk5OS0yMDA4LgojCiMgVHJhZHXn428gb3JpZ2luYWwgZGEgdmVyc+NvIDQuMDE6CiMgSnVhbiBDYXJsb3MgQ2FzdHJvIHkgQ2FzdHJvIDxqY2FzdHJvQHZpYWxpbmsuY29tLmJyPiwgMjAwMi4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogc2VkIDQuMi4wXG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS11dGlsc0BnbnUub3JnXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wNi0yNyAxNTowOCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTAxLTMxIDA5OjIxLTAzMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogQXVyZWxpbyBKYXJnYXMgPHZlcmRlQGF1cmVsaW8ubmV0PlxuIgoiTGFuZ3VhZ2UtVGVhbTogQnJhemlsaWFuIFBvcnR1Z3Vlc2UgPGxkcC1ickBiYXphci5jb25lY3RpdmEuY29tLmJyPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiA+IDEpO1xuIgoKIzogc2VkL2NvbXBpbGUuYzoxNjEKbXNnaWQgIm11bHRpcGxlIGAhJ3MiCm1zZ3N0ciAiRXhjbGFtYef1ZXMgYCEnIG36bHRpcGxhcyIKCiM6IHNlZC9jb21waWxlLmM6MTYyCm1zZ2lkICJ1bmV4cGVjdGVkIGAsJyIKbXNnc3RyICJW7XJndWxhIGAsJyBpbmVzcGVyYWRhIgoKIzogc2VkL2NvbXBpbGUuYzoxNjMKbXNnaWQgImludmFsaWQgdXNhZ2Ugb2YgK04gb3Igfk4gYXMgZmlyc3QgYWRkcmVzcyIKbXNnc3RyICJO428gdXNlICtOIG91IH5OIGNvbW8gbyBwcmltZWlybyBlbmRlcmXnbyIKCiM6IHNlZC9jb21waWxlLmM6MTY0Cm1zZ2lkICJ1bm1hdGNoZWQgYHsnIgptc2dzdHIgImB7JyBu428gdGVybWluYWRhIgoKIzogc2VkL2NvbXBpbGUuYzoxNjUKbXNnaWQgInVuZXhwZWN0ZWQgYH0nIgptc2dzdHIgImB9JyBpbmVzcGVyYWRhIgoKIzogc2VkL2NvbXBpbGUuYzoxNjYKbXNnaWQgImV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgY29tbWFuZCIKbXNnc3RyICJI4SBjYXJhY3RlcmVzIHNvYnJhbmRvIGFw83MgbyBjb21hbmRvIgoKIzogc2VkL2NvbXBpbGUuYzoxNjcKbXNnaWQgImV4cGVjdGVkIFxcIGFmdGVyIGBhJywgYGMnIG9yIGBpJyIKbXNnc3RyICJEZXZlIGhhdmVyIHVtIGVzY2FwZSBcXCBkZXBvaXMgZG9zIGNvbWFuZG9zIGBhJywgYGMnIGUgYGknIgoKIzogc2VkL2NvbXBpbGUuYzoxNjgKbXNnaWQgImB9JyBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJgfScgbuNvIHJlY2ViZSBlbmRlcmXnb3MiCgojOiBzZWQvY29tcGlsZS5jOjE2OQptc2dpZCAiOiBkb2Vzbid0IHdhbnQgYW55IGFkZHJlc3NlcyIKbXNnc3RyICJgOicgbuNvIHJlY2ViZSBlbmRlcmXnb3MiCgojOiBzZWQvY29tcGlsZS5jOjE3MAptc2dpZCAiY29tbWVudHMgZG9uJ3QgYWNjZXB0IGFueSBhZGRyZXNzZXMiCm1zZ3N0ciAiQ29tZW504XJpb3MgbuNvIGFjZWl0YW0gZW5kZXJl529zIgoKIzogc2VkL2NvbXBpbGUuYzoxNzEKbXNnaWQgIm1pc3NpbmcgY29tbWFuZCIKbXNnc3RyICJGYWx0YSBlc3BlY2lmaWNhciB1bSBjb21hbmRvIGFvIGVuZGVyZedvIgoKIzogc2VkL2NvbXBpbGUuYzoxNzIKbXNnaWQgImNvbW1hbmQgb25seSB1c2VzIG9uZSBhZGRyZXNzIgptc2dzdHIgIkVzdGUgY29tYW5kbyB1c2EgYXBlbmFzIHVtIGVuZGVyZedvIgoKIzogc2VkL2NvbXBpbGUuYzoxNzMKbXNnaWQgInVudGVybWluYXRlZCBhZGRyZXNzIHJlZ2V4Igptc2dzdHIgIkEgZXhwcmVzc+NvIHJlZ3VsYXIgZG8gZW5kZXJl528gZXN04SBpbmFjYWJhZGEgKGZhbHRhIGEgLykiCgojOiBzZWQvY29tcGlsZS5jOjE3NAptc2dpZCAidW50ZXJtaW5hdGVkIGBzJyBjb21tYW5kIgptc2dzdHIgIkNvbWFuZG8gYHMnIGluYWNhYmFkbyAocy8vLyAtIGZhbHRvdSBkZWxpbWl0YWRvcikiCgojOiBzZWQvY29tcGlsZS5jOjE3NQptc2dpZCAidW50ZXJtaW5hdGVkIGB5JyBjb21tYW5kIgptc2dzdHIgIkNvbWFuZG8gYHknIGluYWNhYmFkbyAoeS8vLyAtIGZhbHRvdSBkZWxpbWl0YWRvcikiCgojOiBzZWQvY29tcGlsZS5jOjE3Ngptc2dpZCAidW5rbm93biBvcHRpb24gdG8gYHMnIgptc2dzdHIgIk9w5+NvIGRlc2NvbmhlY2lkYSBwYXJhIG8gY29tYW5kbyBgcycgKHMvLy8/KSIKCiM6IHNlZC9jb21waWxlLmM6MTc3Cm1zZ2lkICJtdWx0aXBsZSBgcCcgb3B0aW9ucyB0byBgcycgY29tbWFuZCIKbXNnc3RyICJvcOf1ZXMgYHAnIG36bHRpcGxhcyBwYXJhIG8gY29tYW5kbyBgcyciCgojOiBzZWQvY29tcGlsZS5jOjE3OAptc2dpZCAibXVsdGlwbGUgYGcnIG9wdGlvbnMgdG8gYHMnIGNvbW1hbmQiCm1zZ3N0ciAib3Dn9WVzIGBnJyBt+mx0aXBsYXMgcGFyYSBvIGNvbWFuZG8gYHMnIgoKIzogc2VkL2NvbXBpbGUuYzoxNzkKbXNnaWQgIm11bHRpcGxlIG51bWJlciBvcHRpb25zIHRvIGBzJyBjb21tYW5kIgptc2dzdHIgIm9w5/VlcyBudW3pcmljYXMgbfpsdGlwbGFzIHBhcmEgbyBjb21hbmRvIGBzJyAocy8vL24pIgoKIzogc2VkL2NvbXBpbGUuYzoxODAKbXNnaWQgIm51bWJlciBvcHRpb24gdG8gYHMnIGNvbW1hbmQgbWF5IG5vdCBiZSB6ZXJvIgptc2dzdHIgIkEgb3Dn428gbnVt6XJpY2EgcGFyYSBvIGNvbWFuZG8gYHMnIG7jbyBwb2RlIHNlciB6ZXJvIChzLy8vMCkiCgojOiBzZWQvY29tcGlsZS5jOjE4MQptc2dpZCAic3RyaW5ncyBmb3IgYHknIGNvbW1hbmQgYXJlIGRpZmZlcmVudCBsZW5ndGhzIgptc2dzdHIgIk9zIHRleHRvcyBwYXJhIG8gY29tYW5kbyBgeScgdOptIHRhbWFuaG9zIGRpZmVyZW50ZXMgKHkvYWJjL3ovKSIKCiM6IHNlZC9jb21waWxlLmM6MTgyCm1zZ2lkICJkZWxpbWl0ZXIgY2hhcmFjdGVyIGlzIG5vdCBhIHNpbmdsZS1ieXRlIGNoYXJhY3RlciIKbXNnc3RyICJPIGRlbGltaXRhZG9yIGRldmUgc2VyIHVtIGNhcmFjdGVyZSBub3JtYWwsIEFTQ0lJIgoKIzogc2VkL2NvbXBpbGUuYzoxODMKbXNnaWQgImV4cGVjdGVkIG5ld2VyIHZlcnNpb24gb2Ygc2VkIgptc2dzdHIgIkVzcGVyYWRhIHVtYSB2ZXJz428gbWFpcyByZWNlbnRlIGRvIHNlZCIKCiM6IHNlZC9jb21waWxlLmM6MTg0Cm1zZ2lkICJpbnZhbGlkIHVzYWdlIG9mIGxpbmUgYWRkcmVzcyAwIgptc2dzdHIgIlVzbyBpbmNvcnJldG8gZG8gZW5kZXJl528gZGUgbGluaGEgMCIKCiM6IHNlZC9jb21waWxlLmM6MTg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6IGAlYyciCm1zZ3N0ciAiQ29tYW5kbyBkZXNjb25oZWNpZG86IGAlYyciCgojOiBzZWQvY29tcGlsZS5jOjIwOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgJXMgbGluZSAlbHU6ICVzXG4iCm1zZ3N0ciAiJXM6IGFycXVpdm8gJXMgbGluaGEgJWx1OiAlc1xuIgoKIzogc2VkL2NvbXBpbGUuYzoyMTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAtZSBleHByZXNzaW9uICMlbHUsIGNoYXIgJWx1OiAlc1xuIgptc2dzdHIgIiVzOiAtZSBleHByZXNz428gIyVsdSwgY2FyYWN0ZXJlICVsdTogJXNcbiIKCiM6IHNlZC9jb21waWxlLmM6MTY2NQojLCBjLWZvcm1hdAptc2dpZCAiY2FuJ3QgZmluZCBsYWJlbCBmb3IganVtcCB0byBgJXMnIgptc2dzdHIgIk7jbyBmb2kgcG9zc+12ZWwgZW5jb250cmFyIGEgbWFyY2Hn428gYCVzJyIKCiM6IHNlZC9leGVjdXRlLmM6NzA5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogY2FuJ3QgcmVhZCAlczogJXNcbiIKbXNnc3RyICIlczogbuNvIGZvaSBwb3Nz7XZlbCBsZXIgJXM6ICVzXG4iCgojOiBzZWQvZXhlY3V0ZS5jOjc0MAojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgZWRpdCAlczogaXMgYSB0ZXJtaW5hbCIKbXNnc3RyICJO428gZm9pIHBvc3PtdmVsIGVkaXRhciAlcywgcG9pcyDpIHVtIHRlcm1pbmFsIgoKIzogc2VkL2V4ZWN1dGUuYzo3NDUKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGVkaXQgJXM6IG5vdCBhIHJlZ3VsYXIgZmlsZSIKbXNnc3RyICJO428gZm9pIHBvc3PtdmVsIGVkaXRhciAlcywgcG9pcyBu428g6SB1bSBhcnF1aXZvIGNvbXVtIgoKIzogc2VkL2V4ZWN1dGUuYzo3NTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IHRvICVzOiAlcyIKbXNnc3RyICIiCgojOiBzZWQvZXhlY3V0ZS5jOjc2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGZhaWxlZCB0byBnZXQgc2VjdXJpdHkgY29udGV4dCBvZiAlczogJXMiCm1zZ3N0ciAiIgoKIzogc2VkL2V4ZWN1dGUuYzo3ODMgc2VkL3V0aWxzLmM6MjI3CiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlICVzOiAlcyIKbXNnc3RyICJO428gZm9pIHBvc3PtdmVsIGFicmlyIG8gYXJxdWl2byB0ZW1wb3LhcmlvICVzOiAlcyIKCiM6IHNlZC9leGVjdXRlLmM6MTMxNyBzZWQvZXhlY3V0ZS5jOjE0OTcKbXNnaWQgImVycm9yIGluIHN1YnByb2Nlc3MiCm1zZ3N0ciAiZXJybyBubyBzdWJwcm9jZXNzbyIKCiM6IHNlZC9leGVjdXRlLmM6MTMxOQptc2dpZCAib3B0aW9uIGBlJyBub3Qgc3VwcG9ydGVkIgptc2dzdHIgIm9w5+NvIGBlJyBu428gc3Vwb3J0YWRhIgoKIzogc2VkL2V4ZWN1dGUuYzoxNDk5Cm1zZ2lkICJgZScgY29tbWFuZCBub3Qgc3VwcG9ydGVkIgptc2dzdHIgImNvbWFuZG8gYGUnIG7jbyBzdXBvcnRhZG8iCgojOiBzZWQvZXhlY3V0ZS5jOjE4NDMKbXNnaWQgIm5vIGlucHV0IGZpbGVzIgptc2dzdHIgIm5lbmh1bSBhcnF1aXZvIGRlIGVudHJhZGEiCgojOiBzZWQvcmVnZXhwLmM6NDEKbXNnaWQgIm5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKbXNnc3RyICJO428gaOEgZXhwcmVzc+NvIHJlZ3VsYXIgYW50ZXJpb3IiCgojOiBzZWQvcmVnZXhwLmM6NDIKbXNnaWQgImNhbm5vdCBzcGVjaWZ5IG1vZGlmaWVycyBvbiBlbXB0eSByZWdleHAiCm1zZ3N0ciAiTuNvIOkgcGVybWl0aWRvIGVzcGVjaWZpY2FyIG1vZGlmaWNhZG9yZXMgbnVtYSBleHByZXNz428gcmVndWxhciB2YXppYSIKCiM6IHNlZC9yZWdleHAuYzoxMzEKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgcmVmZXJlbmNlIFxcJWQgb24gYHMnIGNvbW1hbmQncyBSSFMiCm1zZ3N0ciAiUmVmZXLqbmNpYSBpbnbhbGlkYSBcXCVkIG5hIHNlZ3VuZGEgcGFydGUgZG8gY29tYW5kbyBgcyciCgojOiBzZWQvc2VkLmM6OTcKIywgYy1mb3JtYXQKbXNnaWQgIiIKIkdOVSBzZWQgaG9tZSBwYWdlOiA8aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3NlZC8+LlxuIgoiR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHA6Ly93d3cuZ251Lm9yZy9nZXRoZWxwLz4uXG4iCm1zZ3N0ciAiIgoKIzogc2VkL3NlZC5jOjEwNAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiIKIkUtbWFpbCBidWcgcmVwb3J0cyB0bzogPCVzPi5cbiIKIkJlIHN1cmUgdG8gaW5jbHVkZSB0aGUgd29yZCBgYCVzJycgc29tZXdoZXJlIGluIHRoZSBgYFN1YmplY3Q6JycgZmllbGQuXG4iCm1zZ3N0ciAiIgoiRW52aWUgcmVsYXTzcmlvcyBkZSBlcnJvcyAoZW0gaW5nbOpzKSBwYXJhOiAlcyAuXG4iCiJJbmNsdWEgYSBwYWxhdnJhIGBgJXMnJyBubyBjYW1wbyBgYEFzc3VudG86Jycgb3UgYGBTdWJqZWN0OicnLlxuIgoKIzogc2VkL3NlZC5jOjExNwptc2dpZCAiIgoiICAtUiwgLS1yZWdleHAtcGVybFxuIgoiICAgICAgICAgICAgICAgICB1c2UgUGVybCA1J3MgcmVndWxhciBleHByZXNzaW9ucyBzeW50YXggaW4gdGhlIHNjcmlwdC5cbiIKbXNnc3RyICIiCiIgIC1SLCAtLXJlZ2V4cC1wZXJsXG4iCiIgICAgICAgICAgICAgICAgIHVzYXIgc2ludGF4ZSBkZSBleHByZXNz9WVzIHJlZ3VsYXJlcyBkbyBQZXJsIDUgbm8gc2NyaXB0LlxuIgoKIzogc2VkL3NlZC5jOjEyMgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIHtzY3JpcHQtb25seS1pZi1uby1vdGhlci1zY3JpcHR9IFtpbnB1dC1maWxlXS4uLlxuIgoiXG4iCm1zZ3N0ciAiIgoiVXNvOiAlcyBbT1DHw09dLi4uIHtzY3JpcHQtYXBlbmFzLXNlLWZvci36bmljb30gW2FycXVpdm8tZW50cmFkYV0uLi5cbiIKIlxuIgoKIzogc2VkL3NlZC5jOjEyNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtbiwgLS1xdWlldCwgLS1zaWxlbnRcbiIKIiAgICAgICAgICAgICAgICAgc3VwcHJlc3MgYXV0b21hdGljIHByaW50aW5nIG9mIHBhdHRlcm4gc3BhY2VcbiIKbXNnc3RyICIiCiIgIC1uLCAtLXF1aWV0LCAtLXNpbGVudFxuIgoiICAgICAgICAgICAgICAgICBzdXByaW1lIGEgaW1wcmVzc+NvIGF1dG9t4XRpY2EgZG8gYnVmZmVyIHBhZHLjb1xuIgoKIzogc2VkL3NlZC5jOjEyOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRkIHRoZSBzY3JpcHQgdG8gdGhlIGNvbW1hbmRzIHRvIGJlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZSBzY3JpcHQsIC0tZXhwcmVzc2lvbj1zY3JpcHRcbiIKIiAgICAgICAgICAgICAgICAgYWRpY2lvbmEgbyBzY3JpcHQgYW9zIGNvbWFuZG9zIGEgc2VyZW0gZXhlY3V0YWRvc1xuIgoKIzogc2VkL3NlZC5jOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29udGVudHMgb2Ygc2NyaXB0LWZpbGUgdG8gdGhlIGNvbW1hbmRzIHRvIGJlICIKImV4ZWN1dGVkXG4iCm1zZ3N0ciAiIgoiICAtZiBzY3JpcHQtZmlsZSwgLS1maWxlPXNjcmlwdC1maWxlXG4iCiIgICAgICAgICAgICAgICAgIGFkaWNpb25hIG8gY29udGX6ZG8gZG8gYXJxdWl2by1zY3JpcHQgYW9zIGNvbWFuZG9zXG4iCiIgICAgICAgICAgICAgICAgIGEgc2VyZW0gZXhlY3V0YWRvc1xuIgoKIzogc2VkL3NlZC5jOjEzMwojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLWZvbGxvdy1zeW1saW5rc1xuIgoiICAgICAgICAgICAgICAgICBmb2xsb3cgc3ltbGlua3Mgd2hlbiBwcm9jZXNzaW5nIGluIHBsYWNlXG4iCm1zZ3N0ciAiIgoiICAtLWZvbGxvdy1zeW1saW5rc1xuIgoiICAgICAgICAgICAgICAgICBzZWd1ZSBsaW5rcyBzaW1i82xpY29zIGFvIGVkaXRhciBvIHBy83ByaW8gYXJxdWl2byAiCiJvcmlnaW5hbFxuIgoKIzogc2VkL3NlZC5jOjEzNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtaVtTVUZGSVhdLCAtLWluLXBsYWNlWz1TVUZGSVhdXG4iCiIgICAgICAgICAgICAgICAgIGVkaXQgZmlsZXMgaW4gcGxhY2UgKG1ha2VzIGJhY2t1cCBpZiBleHRlbnNpb24gc3VwcGxpZWQpXG4iCm1zZ3N0ciAiIgoiICAtaVtTVUZJWE9dLCAtLWluLXBsYWNlWz1TVUZJWE9dXG4iCiIgICAgICAgICAgICAgICAgIGVkaXRhIG8gYXJxdWl2byBvcmlnaW5hbCAoZmF6IGJhY2t1cCBzZSB1c2FkbyBTVUZJWE8pXG4iCgojOiBzZWQvc2VkLmM6MTM5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1iLCAtLWJpbmFyeVxuIgoiICAgICAgICAgICAgICAgICBvcGVuIGZpbGVzIGluIGJpbmFyeSBtb2RlIChDUitMRnMgYXJlIG5vdCBwcm9jZXNzZWQgIgoic3BlY2lhbGx5KVxuIgptc2dzdHIgIiIKIiAgLWIsIC0tYmluYXJ5XG4iCiIgICAgICAgICAgICAgICAgIGFicmUgb3MgYXJxdWl2b3MgZW0gbW9kbyBiaW7hcmlvIChDUitMRnMgbuNvIHPjbyAiCiJlc3BlY2lhaXMpXG4iCgojOiBzZWQvc2VkLmM6MTQyCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIC1sIE4sIC0tbGluZS1sZW5ndGg9TlxuIgoiICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBkZXNpcmVkIGxpbmUtd3JhcCBsZW5ndGggZm9yIHRoZSBgbCcgY29tbWFuZFxuIgptc2dzdHIgIiIKIiAgLWwgTiwgLS1saW5lLWxlbmd0aD1OXG4iCiIgICAgICAgICAgICAgICAgIGRldGVybWluYSBjb21wcmltZW50byBkYSBxdWVicmEgZGUgbGluaGEgcGFyYSBjb21hbmRvIGBsJ1xuIgoKIzogc2VkL3NlZC5jOjE0NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtLXBvc2l4XG4iCiIgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIEdOVSBleHRlbnNpb25zLlxuIgptc2dzdHIgIiIKIiAgLS1wb3NpeFxuIgoiICAgICAgICAgICAgICAgICBkZXNhdGl2YSB0b2RhcyBhcyBleHRlbnP1ZXMgR05VLlxuIgoKIzogc2VkL3NlZC5jOjE0NgojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtciwgLS1yZWdleHAtZXh0ZW5kZWRcbiIKIiAgICAgICAgICAgICAgICAgdXNlIGV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaW4gdGhlIHNjcmlwdC5cbiIKbXNnc3RyICIiCiIgIC1yLCAtLXJlZ2V4cC1leHRlbmRlZFxuIgoiICAgICAgICAgICAgICAgICB1c2FyIHNpbnRheGUgbW9kZXJuYSBkZSBleHByZXNz9WVzIHJlZ3VsYXJlcyAoc2VtICIKImVzY2FwZXMpLlxuIgoKIzogc2VkL3NlZC5jOjE1MQojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtcywgLS1zZXBhcmF0ZVxuIgoiICAgICAgICAgICAgICAgICBjb25zaWRlciBmaWxlcyBhcyBzZXBhcmF0ZSByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSAiCiJjb250aW51b3VzXG4iCiIgICAgICAgICAgICAgICAgIGxvbmcgc3RyZWFtLlxuIgptc2dzdHIgIiIKIiAgLXMsIC0tc2VwYXJhdGVcbiIKIiAgICAgICAgICAgICAgICAgY29uc2lkZXJhIGFycXVpdm9zIGNvbW8gZW50aWRhZGVzIHNlcGFyYWRhcywgZSBu428gY29tbyB1bVxuIgoiICAgICAgICAgICAgICAgICBsb25nbyBlIPpuaWNvIGZsdXhvIGRlIGRhZG9zLlxuIgoKIzogc2VkL3NlZC5jOjE1NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIGxvYWQgbWluaW1hbCBhbW91bnRzIG9mIGRhdGEgZnJvbSB0aGUgaW5wdXQgZmlsZXMgYW5kICIKImZsdXNoXG4iCiIgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgYnVmZmVycyBtb3JlIG9mdGVuXG4iCm1zZ3N0ciAiIgoiICAtdSwgLS11bmJ1ZmZlcmVkXG4iCiIgICAgICAgICAgICAgICAgIGNhcnJlZ2EgdW1hIHF1YW50aWRhZGUgbe1uaW1hIGRlIGRhZG9zIGRvcyBhcnF1aXZvcyBkZSAiCiJlbnRyYWRhXG4iCiIgICAgICAgICAgICAgICAgIGUgZGVzY2FycmVnYSBvcyBidWZmZXJzIGRlIHNh7WRhIGNvbSBtYWlzIGZyZXH86m5jaWFcbiIKCiM6IHNlZC9zZWQuYzoxNTcKIywgYy1mb3JtYXQKbXNnaWQgIiAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG1vc3RyYSBlc3RhIGFqdWRhIGUgc2FpXG4iCgojOiBzZWQvc2VkLmM6MTU4CiMsIGMtZm9ybWF0Cm1zZ2lkICIgICAgICAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCm1zZ3N0ciAiICAgICAgLS12ZXJzaW9uICBtb3N0cmEgaW5mb3JtYef1ZXMgc29icmUgYSB2ZXJz428gZSBzYWlcbiIKCiM6IHNlZC9zZWQuYzoxNTkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiSWYgbm8gLWUsIC0tZXhwcmVzc2lvbiwgLWYsIG9yIC0tZmlsZSBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gdGhlIGZpcnN0XG4iCiJub24tb3B0aW9uIGFyZ3VtZW50IGlzIHRha2VuIGFzIHRoZSBzZWQgc2NyaXB0IHRvIGludGVycHJldC4gIEFsbFxuIgoicmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgbmFtZXMgb2YgaW5wdXQgZmlsZXM7IGlmIG5vIGlucHV0IGZpbGVzIGFyZVxuIgoic3BlY2lmaWVkLCB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJTZSBuZW5odW1hIG9w5+NvIC1lLCAtLWV4cHJlc3Npb24sIC1mLCBvdSAtLWZpbGUg6SBkYWRhLCBvIHByaW1laXJvXG4iCiJhcmd1bWVudG8gcXVlIG7jbyBzZWphIHVtYSBvcOfjbyDpIGNvbnNpZGVyYWRvIGNvbW8gbyBzY3JpcHQgc2VkIGEgc2VyXG4iCiJpbnRlcnByZXRhZG8uIFRvZG9zIG9zIGFyZ3VtZW50b3MgcmVzdGFudGVzIHPjbyBjb25zaWRlcmFkb3MgY29tb1xuIgoibm9tZXMgZGUgYXJxdWl2b3MgZGUgZW50cmFkYS4gQ2FzbyBuZW5odW0gYXJxdWl2byBkZSBlbnRyYWRhIHNlamFcbiIKImVzcGVjaWZpY2FkbywgZW50428gYSBlbnRyYWRhIHBhZHLjbyBzZXLhIGxpZGEuXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzozMTUKIywgYy1mb3JtYXQKbXNnaWQgInN1cGVyLXNlZCB2ZXJzaW9uICVzXG4iCm1zZ3N0ciAic3VwZXItc2VkIHZlcnPjbyAlc1xuIgoKIzogc2VkL3NlZC5jOjMxNgojLCBjLWZvcm1hdAptc2dpZCAiIgoiYmFzZWQgb24gR05VIHNlZCB2ZXJzaW9uICVzXG4iCiJcbiIKbXNnc3RyICIiCiJiYXNlYWRvIG5vIEdOVSBzZWQgdmVyc+NvICVzXG4iCiJcbiIKCiM6IHNlZC9zZWQuYzozMTgKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBzZWQgdmVyc2lvbiAlc1xuIgptc2dzdHIgIkdOVSBzZWQgdmVyc+NvICVzXG4iCgojOiBzZWQvc2VkLmM6MzIwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcbiIKInRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCiIlc1xuIgoiRXN0ZSBwcm9ncmFtYSDpIFNvZnR3YXJlIExpdnJlLiBWZWphIG9zIGZvbnRlcyBwYXJhIGNvbmhlY2VyIGFzIGNvbmRp5/Vlc1xuIgoiZGUgY/NwaWEuICBOw08gaOEgZ2FyYW50aWFzLCBuZW0gbWVzbW8gcGFyYSBvcyBhc3BlY3RvcyBtZXJjYW50aXMgb3UgZGVcbiIKImF0ZW5kaW1lbnRvIGEgZmluYWxpZGFkZXMgZXNwZWPtZmljYXMsIHRhbnRvIHF1YW50byBhIGxlaSBwZXJtaXRhLlxuIgoKIzogc2VkL3V0aWxzLmM6OTMgc2VkL3V0aWxzLmM6NDM4CiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVtb3ZlICVzOiAlcyIKbXNnc3RyICJO428gZm9pIHBvc3PtdmVsIHJlbW92ZXIgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6MTYzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjb3VsZG4ndCBvcGVuIGZpbGUgJXM6ICVzIgptc2dzdHIgIk7jbyBmb2kgcG9zc+12ZWwgYWJyaXIgbyBhcnF1aXZvICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjE4NgojLCBjLWZvcm1hdAptc2dpZCAiY291bGRuJ3QgYXR0YWNoIHRvICVzOiAlcyIKbXNnc3RyICJu428gZm9pIHBvc3PtdmVsIGFuZXhhciBhbyAlczogJXMiCgojOiBzZWQvdXRpbHMuYzoyNDUKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IHdyaXRlICVkIGl0ZW0gdG8gJXM6ICVzIgptc2dpZF9wbHVyYWwgImNvdWxkbid0IHdyaXRlICVkIGl0ZW1zIHRvICVzOiAlcyIKbXNnc3RyWzBdICJu428gZm9pIHBvc3PtdmVsIGVzY3JldmVyICVkIGl0ZW0gcGFyYSAlczogJXMiCm1zZ3N0clsxXSAibuNvIGZvaSBwb3Nz7XZlbCBlc2NyZXZlciAlZCBpdGVtcyBwYXJhICVzOiAlcyIKCiM6IHNlZC91dGlscy5jOjI2MCBzZWQvdXRpbHMuYzoyNzYKIywgYy1mb3JtYXQKbXNnaWQgInJlYWQgZXJyb3Igb24gJXM6ICVzIgptc2dzdHIgImVycm8gZGUgbGVpdHVyYSBlbSAlczogJXMiCgojOiBzZWQvdXRpbHMuYzozNzgKIywgYy1mb3JtYXQKbXNnaWQgImNvdWxkbid0IGZvbGxvdyBzeW1saW5rICVzOiAlcyIKbXNnc3RyICJO428gZm9pIHBvc3PtdmVsIHNlZ3VpciBvIGxpbmsgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6NDEyCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3Qgc3RhdCAlczogJXMiCm1zZ3N0ciAiTuNvIGZvaSBwb3Nz7XZlbCBsZXIgJXM6ICVzIgoKIzogc2VkL3V0aWxzLmM6NDQzCiMsIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgcmVuYW1lICVzOiAlcyIKbXNnc3RyICJO428gZm9pIHBvc3PtdmVsIHJlbm9tZWFyICVzOiAlcyIKCiM6IGxpYi9yZWdjb21wLmM6MTM0Cm1zZ2lkICJTdWNjZXNzIgptc2dzdHIgIlN1Y2Vzc28iCgojOiBsaWIvcmVnY29tcC5jOjEzNwptc2dpZCAiTm8gbWF0Y2giCm1zZ3N0ciAiTmFkYSBlbmNvbnRyYWRvIgoKIzogbGliL3JlZ2NvbXAuYzoxNDAKbXNnaWQgIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkV4cHJlc3PjbyByZWd1bGFyIGluduFsaWRhIgoKIzogbGliL3JlZ2NvbXAuYzoxNDMKbXNnaWQgIkludmFsaWQgY29sbGF0aW9uIGNoYXJhY3RlciIKbXNnc3RyICJDYXJhY3RlcmUgZGUgb3JkZW5h5+NvIGluduFsaWRvIgoKIzogbGliL3JlZ2NvbXAuYzoxNDYKbXNnaWQgIkludmFsaWQgY2hhcmFjdGVyIGNsYXNzIG5hbWUiCm1zZ3N0ciAiTm9tZSBpbnbhbGlkbyBkZSBjbGFzc2UgZGUgY2FyYWN0ZXJlcyIKCiM6IGxpYi9yZWdjb21wLmM6MTQ5Cm1zZ2lkICJUcmFpbGluZyBiYWNrc2xhc2giCm1zZ3N0ciAiRXNjYXBlIFxcIG5vIGZpbmFsIgoKIzogbGliL3JlZ2NvbXAuYzoxNTIKbXNnaWQgIkludmFsaWQgYmFjayByZWZlcmVuY2UiCm1zZ3N0ciAiUmV0cm92aXNvciBcXG4gaW524WxpZG8iCgojOiBsaWIvcmVnY29tcC5jOjE1NQptc2dpZCAiVW5tYXRjaGVkIFsgb3IgW14iCm1zZ3N0ciAiWyBvdSBbXiBu428gdGVybWluYWRvIgoKIzogbGliL3JlZ2NvbXAuYzoxNTgKbXNnaWQgIlVubWF0Y2hlZCAoIG9yIFxcKCIKbXNnc3RyICIoIG91IFxcKCBu428gdGVybWluYWRvIgoKIzogbGliL3JlZ2NvbXAuYzoxNjEKbXNnaWQgIlVubWF0Y2hlZCBcXHsiCm1zZ3N0ciAiXFx7IG7jbyB0ZXJtaW5hZG8iCgojOiBsaWIvcmVnY29tcC5jOjE2NAptc2dpZCAiSW52YWxpZCBjb250ZW50IG9mIFxce1xcfSIKbXNnc3RyICJDb250ZfpkbyBpbnbhbGlkbyBubyBcXHtcXH0gKHBlcm1pdGlkb3MgbvptZXJvcyBlIHbtcmd1bGEpIgoKIzogbGliL3JlZ2NvbXAuYzoxNjcKbXNnaWQgIkludmFsaWQgcmFuZ2UgZW5kIgptc2dzdHIgIkZpbSBkZSBpbnRlcnZhbG8gKHJhbmdlKSBpbnbhbGlkbyIKCiM6IGxpYi9yZWdjb21wLmM6MTcwCm1zZ2lkICJNZW1vcnkgZXhoYXVzdGVkIgptc2dzdHIgIkZhbHRhIGRlIG1lbfNyaWEiCgojOiBsaWIvcmVnY29tcC5jOjE3Mwptc2dpZCAiSW52YWxpZCBwcmVjZWRpbmcgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkV4cHJlc3PjbyByZWd1bGFyIGFudGVyaW9yIGluduFsaWRhIgoKIzogbGliL3JlZ2NvbXAuYzoxNzYKbXNnaWQgIlByZW1hdHVyZSBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIgptc2dzdHIgIkZpbSBwcmVtYXR1cm8gZGEgZXhwcmVzc+NvIHJlZ3VsYXIiCgojOiBsaWIvcmVnY29tcC5jOjE3OQptc2dpZCAiUmVndWxhciBleHByZXNzaW9uIHRvbyBiaWciCm1zZ3N0ciAiRXhwcmVzc+NvIHJlZ3VsYXIgZ3JhbmRlIGRlbWFpcyIKCiM6IGxpYi9yZWdjb21wLmM6MTgyCm1zZ2lkICJVbm1hdGNoZWQgKSBvciBcXCkiCm1zZ3N0ciAiKSBvciBcXCkgaW5lc3BlcmFkbyIKCiM6IGxpYi9yZWdjb21wLmM6NzAzCm1zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCm1zZ3N0ciAiTuNvIGjhIGV4cHJlc3PjbyByZWd1bGFyIGFudGVyaW9yIgo=