<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.1">
    <Name>DynamicFieldDatabaseExtensions</Name>
    <Version>11.1.2</Version>
    <Vendor>Rother OSS GmbH</Vendor>
    <URL>https://otobo.io/</URL>
    <License>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</License>
    <ChangeLog Date="2026-10-26 16:10:23" Version="11.1.2">Updated package to OTOBO 11.1.1.</ChangeLog>
    <ChangeLog Date="2026-06-26 16:13:46" Version="11.1.1">Initial release for OTOBO 11.1.</ChangeLog>
    <Description Lang="en">The package DynamicFieldDatabaseExtensions provides the possibility to extend the information displayed by dynamic field database values.</Description>
    <Framework>11.1.x</Framework>
    <BuildCommitID>a29e0b3f56b0d99b233680b26e788babeccda1f9</BuildCommitID>
    <BuildDate>2026-10-26 16:10:27</BuildDate>
    <BuildHost>opms.rother-oss.com</BuildHost>
    <Filelist>
        <File Location="Custom/Kernel/Modules/AdminDynamicFieldDB.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE5IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSA4NjJhOWQ3YzY2ODBkMTVlZWIwOGUzNDhiMjA0MGE0MTllYzM3OGU4IC0gS2VybmVsL01vZHVsZXMvQWRtaW5EeW5hbWljRmllbGREQi5wbQojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWRtaW5EeW5hbWljRmllbGREQjsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCgojIGNvcmUgbW9kdWxlcwp1c2UgTGlzdDo6VXRpbCBxdyh1bmlxKTsKCiMgQ1BBTiBtb2R1bGVzCgojIE9UT0JPIG1vZHVsZXMKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpMYW5ndWFnZSAgICAgICAgICAgICAgcXcoVHJhbnNsYXRhYmxlKTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkU2VsZiA9IHslUGFyYW19OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgU3RvcmUgbGFzdCBlbnRpdHkgc2NyZWVuLgogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkF1dGhTZXNzaW9uJyktPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgIEtleSAgICAgICA9PiAnTGFzdFNjcmVlbkVudGl0eScsCiAgICAgICAgVmFsdWUgICAgID0+ICRTZWxmLT57UmVxdWVzdGVkVVJMfSwKICAgICk7CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQWRkJyApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPl9BZGQoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICApOwogICAgfQogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0FkZEFjdGlvbicgKSB7CgogICAgICAgICMgQ2hhbGxlbmdlIHRva2VuIGNoZWNrIGZvciB3cml0ZSBhY3Rpb24uCiAgICAgICAgJExheW91dE9iamVjdC0+Q2hhbGxlbmdlVG9rZW5DaGVjaygpOwoKICAgICAgICByZXR1cm4gJFNlbGYtPl9BZGRBY3Rpb24oCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICApOwogICAgfQogICAgaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0NoYW5nZScgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fQ2hhbmdlKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdDaGFuZ2VBY3Rpb24nICkgewoKICAgICAgICAjIENoYWxsZW5nZSB0b2tlbiBjaGVjayBmb3Igd3JpdGUgYWN0aW9uLgogICAgICAgICRMYXlvdXRPYmplY3QtPkNoYWxsZW5nZVRva2VuQ2hlY2soKTsKCiAgICAgICAgcmV0dXJuICRTZWxmLT5fQ2hhbmdlQWN0aW9uKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnVW5kZWZpbmVkIHN1YmFjdGlvbi4nKSwKICAgICk7Cn0KCnN1YiBfQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKICAgIG15ICRQYXJhbU9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgbXkgJUdldFBhcmFtOwoKICAgICMgY2hlY2sgaWYgd2UgY2xvbmUgZnJvbSBhbiBleGlzdGluZyBmaWVsZAogICAgbXkgJENsb25lRmllbGRJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJDbG9uZUZpZWxkSUQiICk7CiAgICBpZiAoJENsb25lRmllbGRJRCkgewogICAgICAgIG15ICRGaWVsZENvbmZpZyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKS0+RHluYW1pY0ZpZWxkR2V0KAogICAgICAgICAgICBJRCA9PiAkQ2xvbmVGaWVsZElELAogICAgICAgICk7CgogICAgICAgICMgaWYgd2UgZm91bmQgYSBmaWVsZCBjb25maWcsIGNvcHkgaXRzIGNvbnRlbnQgZm9yIHVzYWdlIGluIF9TaG93U2NyZWVuCiAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSgkRmllbGRDb25maWcpICkgewoKICAgICAgICAgICAgIyBjb3B5IHN0YW5kYXJkIHN0dWZmCiAgICAgICAgICAgIGZvciBteSAkS2V5IChxdyhPYmplY3RUeXBlIEZpZWxkVHlwZSBMYWJlbCBOYW1lIFZhbGlkSUQpKSB7CiAgICAgICAgICAgICAgICAkR2V0UGFyYW17JEtleX0gPSAkRmllbGRDb25maWctPnskS2V5fTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBpdGVyYXRlIG92ZXIgc3BlY2lhbCBzdHVmZiBhbmQgY29weSBpbi1kZXB0aCBjb250ZW50IGFzIGZsYXQgbGlzdAogICAgICAgICAgICBDT05GSUdLRVk6CiAgICAgICAgICAgIGZvciBteSAkQ29uZmlnS2V5ICgga2V5cyAkRmllbGRDb25maWctPntDb25maWd9LT4lKiApIHsKICAgICAgICAgICAgICAgIG5leHQgQ09ORklHS0VZIGlmICRDb25maWdLZXkgZXEgJ1BhcnRPZlNldCc7CgogICAgICAgICAgICAgICAgbXkgJERGRGV0YWlscyA9ICRGaWVsZENvbmZpZy0+e0NvbmZpZ307CiAgICAgICAgICAgICAgICBpZiAoICRDb25maWdLZXkgZXEgJ1Bvc3NpYmxlVmFsdWVzJyApIHsKICAgICAgICAgICAgICAgICAgICAkR2V0UGFyYW17UG9zc2libGVWYWx1ZXN9ID0gJERGRGV0YWlscy0+e1Bvc3NpYmxlVmFsdWVzfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggSXNIYXNoUmVmV2l0aERhdGEoICRERkRldGFpbHMtPnskQ29uZmlnS2V5fSApICkgewogICAgICAgICAgICAgICAgICAgIG15ICRDb25maWdDb250ZW50ID0gJERGRGV0YWlscy0+eyRDb25maWdLZXl9OwogICAgICAgICAgICAgICAgICAgIGZvciBteSAkQ29udGVudEtleSAoIGtleXMgJENvbmZpZ0NvbnRlbnQtPiUqICkgewogICAgICAgICAgICAgICAgICAgICAgICAkR2V0UGFyYW17JENvbnRlbnRLZXl9ID0gJENvbmZpZ0NvbnRlbnQtPnskQ29udGVudEtleX07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJEdldFBhcmFteyRDb25maWdLZXl9ID0gJERGRGV0YWlscy0+eyRDb25maWdLZXl9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRHZXRQYXJhbXtDbG9uZUZpZWxkSUR9ID0gJENsb25lRmllbGRJRDsKICAgIH0KCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoT2JqZWN0VHlwZSBGaWVsZFR5cGUgRmllbGRPcmRlcikpIHsKICAgICAgICAkR2V0UGFyYW17JE5lZWRlZH0gLy89ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICROZWVkZWQgKTsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnTmVlZCAlcycsICROZWVkZWQgKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBGaWVsZFR5cGVGaWx0ZXIgTmFtZXNwYWNlRmlsdGVyKSkgewogICAgICAgICRHZXRQYXJhbXskRmlsdGVyUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEZpbHRlclBhcmFtICk7CiAgICB9CgogICAgIyBHZXQgdGhlIG9iamVjdCB0eXBlIGFuZCBmaWVsZCB0eXBlIGRpc3BsYXkgbmFtZS4KICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKICAgIG15ICRPYmplY3RUeXBlTmFtZSA9ICRDb25maWdPYmplY3QtPkdldCgnRHluYW1pY0ZpZWxkczo6T2JqZWN0VHlwZScpLT57ICRHZXRQYXJhbXtPYmplY3RUeXBlfSB9LT57RGlzcGxheU5hbWV9IHx8ICcnOwogICAgbXkgJEZpZWxkVHlwZU5hbWUgID0gJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGRzOjpEcml2ZXInKS0+eyAkR2V0UGFyYW17RmllbGRUeXBlfSB9LT57RGlzcGxheU5hbWV9ICAgICAgfHwgJyc7CgogICAgIyBjaGVjayBuYW1lc3BhY2UgdmFsaWRpdHkKICAgIG15IEBERk5hbWVzcGFjZXMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TmFtZXNwYWNlJyktPk5hbWVzcGFjZXNMaXN0KAogICAgICAgIFNjb3BlID0+ICdEeW5hbWljRmllbGQnLAogICAgKTsKICAgIG15ICROYW1lc3BhY2UgPSAnJzsKICAgIGlmICggQERGTmFtZXNwYWNlcyAmJiAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSApIHsKICAgICAgICAkTmFtZXNwYWNlID0gKCBncmVwIHsgJF8gZXEgJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0gfSBAREZOYW1lc3BhY2VzICkgPyAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSA6ICcnOwogICAgfQoKICAgIHJldHVybiAkU2VsZi0+X1Nob3dTY3JlZW4oCiAgICAgICAgJVBhcmFtLAogICAgICAgICVHZXRQYXJhbSwKICAgICAgICBNb2RlICAgICAgICAgICA9PiAnQWRkJywKICAgICAgICBPYmplY3RUeXBlTmFtZSA9PiAkT2JqZWN0VHlwZU5hbWUsCiAgICAgICAgRmllbGRUeXBlTmFtZSAgPT4gJEZpZWxkVHlwZU5hbWUsCiAgICAgICAgTmFtZXNwYWNlICAgICAgPT4gJE5hbWVzcGFjZSwKICAgICk7Cn0KCnN1YiBfQWRkQWN0aW9uIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUVycm9yczsKICAgIG15ICVHZXRQYXJhbTsKCiAgICBteSAkUGFyYW1PYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgZm9yIG15ICROZWVkZWQgKHF3KE5hbWUgTGFiZWwgRmllbGRPcmRlcikpIHsKICAgICAgICAkR2V0UGFyYW17JE5lZWRlZH0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmVlZGVkICk7CiAgICAgICAgaWYgKCAhJEdldFBhcmFteyROZWVkZWR9ICkgewogICAgICAgICAgICAkRXJyb3JzeyAkTmVlZGVkIC4gJ1NlcnZlckVycm9yJyB9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7ICROZWVkZWQgLiAnU2VydmVyRXJyb3JNZXNzYWdlJyB9ID0gVHJhbnNsYXRhYmxlKCdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLicpOwogICAgICAgIH0KICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZCcpOwoKICAgIGlmICggJEdldFBhcmFte0ZpZWxkT3JkZXJ9ICkgewoKICAgICAgICAjIENoZWNrIGlmIGZpZWxkIG9yZGVyIGlzIG51bWVyaWMgYW5kIHBvc2l0aXZlLgogICAgICAgIGlmICggJEdldFBhcmFte0ZpZWxkT3JkZXJ9ICF+IG17XEEgKD86IFxkICkrIFx6fXhtcyApIHsKCiAgICAgICAgICAgICMgQWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcy4KICAgICAgICAgICAgJEVycm9yc3tGaWVsZE9yZGVyU2VydmVyRXJyb3J9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7RmllbGRPcmRlclNlcnZlckVycm9yTWVzc2FnZX0gPSBUcmFuc2xhdGFibGUoJ1RoZSBmaWVsZCBtdXN0IGJlIG51bWVyaWMuJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZvciBteSAkQ29uZmlnUGFyYW0gKAogICAgICAgIHF3KAogICAgICAgICAgICBPYmplY3RUeXBlIE9iamVjdFR5cGVOYW1lIEZpZWxkVHlwZSBGaWVsZFR5cGVOYW1lIFZhbGlkSUQgTGluayBMaW5rUHJldmlldyBEQlR5cGUgU2VydmVyIFBvcnQKICAgICAgICAgICAgREJOYW1lIERCVGFibGUgVXNlciBQYXNzd29yZCBJZGVudGlmaWVyIE11bHRpc2VsZWN0IENhY2hlVFRMIFNlYXJjaHByZWZpeCBTZWFyY2hzdWZmaXgKICAgICAgICAgICAgU0lEIERyaXZlciBSZXN1bHRMaW1pdCBDYXNlU2Vuc2l0aXZlIFRvb2x0aXAgTXVsdGlWYWx1ZSBOYW1lc3BhY2UKICAgICAgICApCiAgICAgICAgKQogICAgewogICAgICAgICRHZXRQYXJhbXskQ29uZmlnUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJENvbmZpZ1BhcmFtICk7CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBGaWVsZFR5cGVGaWx0ZXIgTmFtZXNwYWNlRmlsdGVyKSkgewogICAgICAgICRHZXRQYXJhbXskRmlsdGVyUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEZpbHRlclBhcmFtICk7CiAgICB9CgogICAgaWYgKCAkR2V0UGFyYW17TmFtZX0gKSB7CgogICAgICAgICMgQ2hlY2sgaWYgbmFtZSBpcyBhbHBoYW51bWVyaWMuCiAgICAgICAgaWYgKCAkR2V0UGFyYW17TmFtZX0gIX4gbXtcQSAoPzogW2EtekEtWl0gfCBcZCApKyBcen14bXMgKSB7CgogICAgICAgICAgICAjIEFkZCBzZXJ2ZXIgZXJyb3IgZXJyb3IgY2xhc3MuCiAgICAgICAgICAgICRFcnJvcnN7TmFtZVNlcnZlckVycm9yfSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7TmFtZVNlcnZlckVycm9yTWVzc2FnZX0gPQogICAgICAgICAgICAgICAgVHJhbnNsYXRhYmxlKCdUaGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBvbmx5IEFTQ0lJIGxldHRlcnMgYW5kIG51bWJlcnMuJyk7CiAgICAgICAgfQoKICAgICAgICAkR2V0UGFyYW17TmFtZX0gPSAkR2V0UGFyYW17TmFtZXNwYWNlfSA/ICRHZXRQYXJhbXtOYW1lc3BhY2V9IC4gJy0nIC4gJEdldFBhcmFte05hbWV9IDogJEdldFBhcmFte05hbWV9OwoKICAgICAgICAjIENoZWNrIGlmIG5hbWUgaXMgZHVwbGljYXRlZC4KICAgICAgICBteSAlRHluYW1pY0ZpZWxkc0xpc3QgPSAlewogICAgICAgICAgICAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRMaXN0KAogICAgICAgICAgICAgICAgVmFsaWQgICAgICA9PiAwLAogICAgICAgICAgICAgICAgUmVzdWx0VHlwZSA9PiAnSEFTSCcsCiAgICAgICAgICAgICkKICAgICAgICB9OwoKICAgICAgICAlRHluYW1pY0ZpZWxkc0xpc3QgPSByZXZlcnNlICVEeW5hbWljRmllbGRzTGlzdDsKCiAgICAgICAgaWYgKCAkRHluYW1pY0ZpZWxkc0xpc3R7ICRHZXRQYXJhbXtOYW1lfSB9ICkgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlcmUgaXMgYW5vdGhlciBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUuJyk7CiAgICAgICAgfQogICAgfQoKICAgICMgUHJlcGFyZSB0aGUgbXVsdGlzZWxlY3QgYW5kIGNhc2Utc2Vuc2l0aXZlIHBhcmFtZXRlcnMuCiAgICBpZiAoIGRlZmluZWQgJEdldFBhcmFte011bHRpc2VsZWN0fSApIHsKICAgICAgICAkR2V0UGFyYW17TXVsdGlzZWxlY3R9ID0gJ2NoZWNrZWQnOwogICAgICAgICRHZXRQYXJhbXtNdWx0aVZhbHVlfSAgPSAwOwogICAgfQoKICAgIGlmICggZGVmaW5lZCAkR2V0UGFyYW17Q2FzZVNlbnNpdGl2ZX0gKSB7CiAgICAgICAgJEdldFBhcmFte0Nhc2VTZW5zaXRpdmV9ID0gJ2NoZWNrZWQgJzsKICAgIH0KCiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgICMgVW5jb3JyZWN0YWJsZSBlcnJvcnMuCiAgICBpZiAoICEkR2V0UGFyYW17VmFsaWRJRH0gKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTmVlZCBWYWxpZElEJyksCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkUG9zc2libGVWYWx1ZXMgPSAkU2VsZi0+X0dldFBvc3NpYmxlVmFsdWVzKCk7CgogICAgIyBSZXR1cm4gdG8gYWRkIHNjcmVlbiBpZiBlcnJvcnMuCiAgICBpZiAoJUVycm9ycykgewogICAgICAgIHJldHVybiAkU2VsZi0+X1Nob3dTY3JlZW4oCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgJUVycm9ycywKICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICBQb3NzaWJsZVZhbHVlcyA9PiAkUG9zc2libGVWYWx1ZXMsCiAgICAgICAgICAgIE1vZGUgICAgICAgICAgID0+ICdBZGQnLAogICAgICAgICk7CiAgICB9CgogICAgIyBTZXQgc3BlY2lmaWMgY29uZmlnLgogICAgbXkgJEZpZWxkQ29uZmlnID0gewogICAgICAgIFBvc3NpYmxlVmFsdWVzID0+ICRQb3NzaWJsZVZhbHVlcywKICAgICAgICBMaW5rICAgICAgICAgICA9PiAkR2V0UGFyYW17TGlua30sCiAgICAgICAgTGlua1ByZXZpZXcgICAgPT4gJEdldFBhcmFte0xpbmtQcmV2aWV3fSwKICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkR2V0UGFyYW17REJUeXBlfSwKICAgICAgICBTSUQgICAgICAgICAgICA9PiAkR2V0UGFyYW17U0lEfSwKICAgICAgICBEcml2ZXIgICAgICAgICA9PiAkR2V0UGFyYW17RHJpdmVyfSwKICAgICAgICBTZXJ2ZXIgICAgICAgICA9PiAkR2V0UGFyYW17U2VydmVyfSwKICAgICAgICBQb3J0ICAgICAgICAgICA9PiAkR2V0UGFyYW17UG9ydH0sCiAgICAgICAgREJOYW1lICAgICAgICAgPT4gJEdldFBhcmFte0RCTmFtZX0sCiAgICAgICAgREJUYWJsZSAgICAgICAgPT4gJEdldFBhcmFte0RCVGFibGV9LAogICAgICAgIFVzZXIgICAgICAgICAgID0+ICRHZXRQYXJhbXtVc2VyfSwKICAgICAgICBQYXNzd29yZCAgICAgICA9PiAkR2V0UGFyYW17UGFzc3dvcmR9LAogICAgICAgIElkZW50aWZpZXIgICAgID0+ICRHZXRQYXJhbXtJZGVudGlmaWVyfSwKICAgICAgICBDYWNoZVRUTCAgICAgICA9PiAkR2V0UGFyYW17Q2FjaGVUVEx9IHx8IDAsCiAgICAgICAgTXVsdGlzZWxlY3QgICAgPT4gJEdldFBhcmFte011bHRpc2VsZWN0fSwKICAgICAgICBTZWFyY2hwcmVmaXggICA9PiAkR2V0UGFyYW17U2VhcmNocHJlZml4fSwKICAgICAgICBTZWFyY2hzdWZmaXggICA9PiAkR2V0UGFyYW17U2VhcmNoc3VmZml4fSwKICAgICAgICBSZXN1bHRMaW1pdCAgICA9PiAkR2V0UGFyYW17UmVzdWx0TGltaXR9LAogICAgICAgIENhc2VTZW5zaXRpdmUgID0+ICRHZXRQYXJhbXtDYXNlU2Vuc2l0aXZlfSwKICAgICAgICBUb29sdGlwICAgICAgICA9PiAkR2V0UGFyYW17VG9vbHRpcH0sCiAgICAgICAgTXVsdGlWYWx1ZSAgICAgPT4gJEdldFBhcmFte011bHRpVmFsdWV9CiAgICB9OwoKICAgICMgQ3JlYXRlIGEgbmV3IGZpZWxkLgogICAgbXkgJEZpZWxkSUQgPSAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRBZGQoCiAgICAgICAgTmFtZSAgICAgICA9PiAkR2V0UGFyYW17TmFtZX0sCiAgICAgICAgTGFiZWwgICAgICA9PiAkR2V0UGFyYW17TGFiZWx9LAogICAgICAgIEZpZWxkT3JkZXIgPT4gJEdldFBhcmFte0ZpZWxkT3JkZXJ9LAogICAgICAgIEZpZWxkVHlwZSAgPT4gJEdldFBhcmFte0ZpZWxkVHlwZX0sCiAgICAgICAgT2JqZWN0VHlwZSA9PiAkR2V0UGFyYW17T2JqZWN0VHlwZX0sCiAgICAgICAgQ29uZmlnICAgICA9PiAkRmllbGRDb25maWcsCiAgICAgICAgVmFsaWRJRCAgICA9PiAkR2V0UGFyYW17VmFsaWRJRH0sCiAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICApOwoKICAgIGlmICggISRGaWVsZElEICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ0NvdWxkIG5vdCBjcmVhdGUgdGhlIG5ldyBmaWVsZCcpLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJFJlZGlyZWN0U3RyaW5nID0gIkFjdGlvbj1BZG1pbkR5bmFtaWNGaWVsZCI7CgogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkR2V0UGFyYW17T2JqZWN0VHlwZUZpbHRlcn0gKSApIHsKICAgICAgICAkUmVkaXJlY3RTdHJpbmcgLj0gIjtPYmplY3RUeXBlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkR2V0UGFyYW17T2JqZWN0VHlwZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJEdldFBhcmFte0ZpZWxkVHlwZUZpbHRlcn0gKSApIHsKICAgICAgICAkUmVkaXJlY3RTdHJpbmcgLj0gIjtGaWVsZFR5cGVGaWx0ZXI9IiAuICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGUgPT4gJ1slIERhdGEuRmlsdGVyIHwgdXJpICVdJywKICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgRmlsdGVyID0+ICRHZXRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJFJlZGlyZWN0U3RyaW5nIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCggT1AgPT4gJFJlZGlyZWN0U3RyaW5nICk7Cn0KCnN1YiBfQ2hhbmdlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgbXkgJUdldFBhcmFtOwogICAgZm9yIG15ICROZWVkZWQgKHF3KE9iamVjdFR5cGUgRmllbGRUeXBlKSkgewogICAgICAgICRHZXRQYXJhbXskTmVlZGVkfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICROZWVkZWQgKTsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnTmVlZCAlcycsICROZWVkZWQgKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBGaWVsZFR5cGVGaWx0ZXIgTmFtZXNwYWNlRmlsdGVyKSkgewogICAgICAgICRHZXRQYXJhbXskRmlsdGVyUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEZpbHRlclBhcmFtICk7CiAgICB9CgogICAgIyBHZXQgdGhlIG9iamVjdCB0eXBlIGFuZCBmaWVsZCB0eXBlIGRpc3BsYXkgbmFtZS4KICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKICAgIG15ICRPYmplY3RUeXBlTmFtZSA9ICRDb25maWdPYmplY3QtPkdldCgnRHluYW1pY0ZpZWxkczo6T2JqZWN0VHlwZScpLT57ICRHZXRQYXJhbXtPYmplY3RUeXBlfSB9LT57RGlzcGxheU5hbWV9IHx8ICcnOwogICAgbXkgJEZpZWxkVHlwZU5hbWUgID0gJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGRzOjpEcml2ZXInKS0+eyAkR2V0UGFyYW17RmllbGRUeXBlfSB9LT57RGlzcGxheU5hbWV9ICAgICAgfHwgJyc7CgogICAgbXkgJEZpZWxkSUQgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnSUQnICk7CgogICAgaWYgKCAhJEZpZWxkSUQgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTmVlZCBJRCcpLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJER5bmFtaWNGaWVsZERhdGEgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkJyktPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICBJRCA9PiAkRmllbGRJRCwKICAgICk7CgogICAgIyBDaGVjayBmb3IgdmFsaWQgZHluYW1pYyBmaWVsZCBjb25maWd1cmF0aW9uLgogICAgaWYgKCAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZERhdGEpICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PgogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnQ291bGQgbm90IGdldCBkYXRhIGZvciBkeW5hbWljIGZpZWxkICVzJywgJEZpZWxkSUQgKSwKICAgICAgICApOwogICAgfQoKICAgIG15ICVDb25maWcgPSAoKTsKCiAgICAjIEV4dHJhY3QgY29uZmlndXJhdGlvbi4KICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICREeW5hbWljRmllbGREYXRhLT57Q29uZmlnfSApICkgewogICAgICAgICVDb25maWcgPSAleyAkRHluYW1pY0ZpZWxkRGF0YS0+e0NvbmZpZ30gfTsKICAgIH0KCiAgICByZXR1cm4gJFNlbGYtPl9TaG93U2NyZWVuKAogICAgICAgICVQYXJhbSwKICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgJER5bmFtaWNGaWVsZERhdGEtPiUqLAogICAgICAgICVDb25maWcsCiAgICAgICAgSUQgICAgICAgICAgICAgPT4gJEZpZWxkSUQsCiAgICAgICAgTW9kZSAgICAgICAgICAgPT4gJ0NoYW5nZScsCiAgICAgICAgT2JqZWN0VHlwZU5hbWUgPT4gJE9iamVjdFR5cGVOYW1lLAogICAgICAgIEZpZWxkVHlwZU5hbWUgID0+ICRGaWVsZFR5cGVOYW1lLAogICAgKTsKfQoKc3ViIF9DaGFuZ2VBY3Rpb24gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlRXJyb3JzOwogICAgbXkgJUdldFBhcmFtOwoKICAgIG15ICRQYXJhbU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoTmFtZSBMYWJlbCBGaWVsZE9yZGVyKSkgewogICAgICAgICRHZXRQYXJhbXskTmVlZGVkfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICROZWVkZWQgKTsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRFcnJvcnN7ICROZWVkZWQgLiAnU2VydmVyRXJyb3InIH0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3sgJE5lZWRlZCAuICdTZXJ2ZXJFcnJvck1lc3NhZ2UnIH0gPSBUcmFuc2xhdGFibGUoJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJyk7CiAgICAgICAgfQogICAgfQoKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgbXkgJEZpZWxkSUQgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnSUQnICk7CiAgICBpZiAoICEkRmllbGRJRCApIHsKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdOZWVkIElEJyksCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZCcpOwoKICAgIG15ICREeW5hbWljRmllbGREYXRhID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkR2V0KAogICAgICAgIElEID0+ICRGaWVsZElELAogICAgKTsKCiAgICAjIENoZWNrIGZvciB2YWxpZCBkeW5hbWljIGZpZWxkIGNvbmZpZ3VyYXRpb24uCiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkRGF0YSkgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICdDb3VsZCBub3QgZ2V0IGRhdGEgZm9yIGR5bmFtaWMgZmllbGQgJXMnLCAkRmllbGRJRCApLAogICAgICAgICk7CiAgICB9CgogICAgaWYgKCAkR2V0UGFyYW17RmllbGRPcmRlcn0gKSB7CgogICAgICAgICMgQ2hlY2sgaWYgZmllbGQgb3JkZXIgaXMgbnVtZXJpYyBhbmQgcG9zaXRpdmUuCiAgICAgICAgaWYgKCAkR2V0UGFyYW17RmllbGRPcmRlcn0gIX4gbXtcQSAoPzogXGQgKSsgXHp9eG1zICkgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze0ZpZWxkT3JkZXJTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tGaWVsZE9yZGVyU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlIGZpZWxkIG11c3QgYmUgbnVtZXJpYy4nKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICRDb25maWdQYXJhbSAoCiAgICAgICAgcXcoCiAgICAgICAgICAgIE9iamVjdFR5cGUgT2JqZWN0VHlwZU5hbWUgRmllbGRUeXBlIEZpZWxkVHlwZU5hbWUgVmFsaWRJRCBMaW5rIExpbmtQcmV2aWV3IERCVHlwZSBTZXJ2ZXIgUG9ydAogICAgICAgICAgICBEQk5hbWUgREJUYWJsZSBVc2VyIFBhc3N3b3JkIElkZW50aWZpZXIgTXVsdGlzZWxlY3QgQ2FjaGVUVEwgU2VhcmNocHJlZml4IFNlYXJjaHN1ZmZpeAogICAgICAgICAgICBTSUQgRHJpdmVyIFJlc3VsdExpbWl0IENhc2VTZW5zaXRpdmUgVG9vbHRpcCBNdWx0aVZhbHVlIE5hbWVzcGFjZQogICAgICAgICkKICAgICAgICApCiAgICB7CiAgICAgICAgJEdldFBhcmFteyRDb25maWdQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkQ29uZmlnUGFyYW0gKTsKICAgIH0KCiAgICBmb3IgbXkgJEZpbHRlclBhcmFtIChxdyhPYmplY3RUeXBlRmlsdGVyIEZpZWxkVHlwZUZpbHRlciBOYW1lc3BhY2VGaWx0ZXIpKSB7CiAgICAgICAgJEdldFBhcmFteyRGaWx0ZXJQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkRmlsdGVyUGFyYW0gKTsKICAgIH0KCiAgICBpZiAoICRHZXRQYXJhbXtOYW1lfSApIHsKCiAgICAgICAgIyBDaGVjayBpZiBuYW1lIGlzIGxvd2VyY2FzZS4KICAgICAgICBpZiAoICRHZXRQYXJhbXtOYW1lfSAhfiBte1xBICg/OiBbYS16QS1aXSB8IFxkICkrIFx6fXhtcyApIHsKCiAgICAgICAgICAgICMgQWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcy4KICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3J9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9CiAgICAgICAgICAgICAgICBUcmFuc2xhdGFibGUoJ1RoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIG9ubHkgQVNDSUkgbGV0dGVycyBhbmQgbnVtYmVycy4nKTsKICAgICAgICB9CgogICAgICAgICRHZXRQYXJhbXtOYW1lfSA9ICRHZXRQYXJhbXtOYW1lc3BhY2V9ID8gJEdldFBhcmFte05hbWVzcGFjZX0gLiAnLScgLiAkR2V0UGFyYW17TmFtZX0gOiAkR2V0UGFyYW17TmFtZX07CgogICAgICAgICMgQ2hlY2sgaWYgbmFtZSBpcyBkdXBsaWNhdGVkLgogICAgICAgIG15ICVEeW5hbWljRmllbGRzTGlzdCA9ICV7CiAgICAgICAgICAgICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZExpc3QoCiAgICAgICAgICAgICAgICBWYWxpZCAgICAgID0+IDAsCiAgICAgICAgICAgICAgICBSZXN1bHRUeXBlID0+ICdIQVNIJywKICAgICAgICAgICAgKQogICAgICAgIH07CgogICAgICAgICVEeW5hbWljRmllbGRzTGlzdCA9IHJldmVyc2UgJUR5bmFtaWNGaWVsZHNMaXN0OwoKICAgICAgICBpZiAoCiAgICAgICAgICAgICREeW5hbWljRmllbGRzTGlzdHsgJEdldFBhcmFte05hbWV9IH0gJiYKICAgICAgICAgICAgJER5bmFtaWNGaWVsZHNMaXN0eyAkR2V0UGFyYW17TmFtZX0gfSBuZSAkRmllbGRJRAogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlcmUgaXMgYW5vdGhlciBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUuJyk7CiAgICAgICAgfQoKICAgICAgICAjIElmIGl0J3MgYW4gaW50ZXJuYWwgZmllbGQsIGl0J3MgbmFtZSBzaG91bGQgbm90IGNoYW5nZS4KICAgICAgICBpZiAoCiAgICAgICAgICAgICREeW5hbWljRmllbGREYXRhLT57SW50ZXJuYWxGaWVsZH0gJiYKICAgICAgICAgICAgJER5bmFtaWNGaWVsZHNMaXN0eyAkR2V0UGFyYW17TmFtZX0gfSBuZSAkRmllbGRJRAogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlIG5hbWUgZm9yIHRoaXMgZmllbGQgc2hvdWxkIG5vdCBjaGFuZ2UuJyk7CiAgICAgICAgICAgICRQYXJhbXtJbnRlcm5hbEZpZWxkfSAgICAgICAgICAgPSAkRHluYW1pY0ZpZWxkRGF0YS0+e0ludGVybmFsRmllbGR9OwogICAgICAgIH0KICAgIH0KCiAgICAjIFByZXBhcmUgdGhlIG11bHRpc2VsZWN0IGFuZCBjYXNlLXNlbnNpdGl2ZSBwYXJhbWV0ZXJzLgogICAgaWYgKCBkZWZpbmVkICRHZXRQYXJhbXtNdWx0aXNlbGVjdH0gKSB7CiAgICAgICAgJEdldFBhcmFte011bHRpc2VsZWN0fSA9ICdjaGVja2VkJzsKICAgICAgICAkR2V0UGFyYW17TXVsdGlWYWx1ZX0gID0gMDsKICAgIH0KCiAgICBpZiAoIGRlZmluZWQgJEdldFBhcmFte0Nhc2VTZW5zaXRpdmV9ICkgewogICAgICAgICRHZXRQYXJhbXtDYXNlU2Vuc2l0aXZlfSA9ICdjaGVja2VkICc7CiAgICB9CgogICAgIyBVbmNvcnJlY3RhYmxlIGVycm9ycy4KICAgIGlmICggISRHZXRQYXJhbXtWYWxpZElEfSApIHsKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdOZWVkIFZhbGlkSUQnKSwKICAgICAgICApOwogICAgfQoKICAgIG15ICRQb3NzaWJsZVZhbHVlcyA9ICRTZWxmLT5fR2V0UG9zc2libGVWYWx1ZXMoKTsKCiAgICAjIENoZWNrIGlmIGR5bmFtaWMgZmllbGQgaXMgcHJlc2VudCBpbiBTeXNDb25maWcgc2V0dGluZy4KICAgIG15ICRVcGRhdGVFbnRpdHkgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVXBkYXRlRW50aXR5JyApIHx8ICcnOwogICAgbXkgQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWc7CgogICAgbXkgJFN5c0NvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTeXNDb25maWcnKTsKCiAgICBASXNEeW5hbWljRmllbGRJblN5c0NvbmZpZyA9ICRTeXNDb25maWdPYmplY3QtPkNvbmZpZ3VyYXRpb25FbnRpdHlDaGVjaygKICAgICAgICBFbnRpdHlUeXBlID0+ICdEeW5hbWljRmllbGQnLAogICAgICAgIEVudGl0eU5hbWUgPT4gJER5bmFtaWNGaWVsZERhdGEtPntOYW1lfSwKICAgICk7CiAgICBpZiAoQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWcpIHsKCiAgICAgICAgIyBBbiBlbnRpdHkgcHJlc2VudCBpbiBTeXNDb25maWcgY291bGRuJ3QgYmUgaW52YWxpZGF0ZWQuCiAgICAgICAgaWYgKAogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VmFsaWQnKS0+VmFsaWRMb29rdXAoIFZhbGlkSUQgPT4gJEdldFBhcmFte1ZhbGlkSUR9ICkKICAgICAgICAgICAgbmUgJ3ZhbGlkJwogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAkRXJyb3Jze1ZhbGlkSURJbnZhbGlkfSAgICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tWYWxpZE9wdGlvblNlcnZlckVycm9yfSA9ICdJblNldHRpbmcnOwogICAgICAgIH0KCiAgICAgICAgIyBJbiBjYXNlIGNoYW5naW5nIG5hbWUgYW4gYXV0aG9yaXphdGlvbiAoVXBkYXRlRW50aXR5KSBzaG91bGQgYmUgc2VuZC4KICAgICAgICBlbHNpZiAoICREeW5hbWljRmllbGREYXRhLT57TmFtZX0gbmUgJEdldFBhcmFte05hbWV9ICYmICEkVXBkYXRlRW50aXR5ICkgewogICAgICAgICAgICAkRXJyb3Jze05hbWVJbnZhbGlkfSAgICAgICAgICAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze0luU2V0dGluZ05hbWVTZXJ2ZXJFcnJvcn0gPSAxOwogICAgICAgIH0KICAgIH0KCiAgICAjIFJldHVybiB0byBjaGFuZ2Ugc2NyZWVuIGlmIGVycm9ycy4KICAgIGlmICglRXJyb3JzKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fU2hvd1NjcmVlbigKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAlRXJyb3JzLAogICAgICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzID0+ICRQb3NzaWJsZVZhbHVlcywKICAgICAgICAgICAgSUQgICAgICAgICAgICAgPT4gJEZpZWxkSUQsCiAgICAgICAgICAgIE1vZGUgICAgICAgICAgID0+ICdDaGFuZ2UnLAogICAgICAgICk7CiAgICB9CgogICAgIyBTZXQgc3BlY2lmaWMgY29uZmlnLgogICAgbXkgJEZpZWxkQ29uZmlnID0gewogICAgICAgIFBvc3NpYmxlVmFsdWVzID0+ICRQb3NzaWJsZVZhbHVlcywKICAgICAgICBMaW5rICAgICAgICAgICA9PiAkR2V0UGFyYW17TGlua30sCiAgICAgICAgTGlua1ByZXZpZXcgICAgPT4gJEdldFBhcmFte0xpbmtQcmV2aWV3fSwKICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkR2V0UGFyYW17REJUeXBlfSwKICAgICAgICBTSUQgICAgICAgICAgICA9PiAkR2V0UGFyYW17U0lEfSwKICAgICAgICBEcml2ZXIgICAgICAgICA9PiAkR2V0UGFyYW17RHJpdmVyfSwKICAgICAgICBTZXJ2ZXIgICAgICAgICA9PiAkR2V0UGFyYW17U2VydmVyfSwKICAgICAgICBQb3J0ICAgICAgICAgICA9PiAkR2V0UGFyYW17UG9ydH0sCiAgICAgICAgREJOYW1lICAgICAgICAgPT4gJEdldFBhcmFte0RCTmFtZX0sCiAgICAgICAgREJUYWJsZSAgICAgICAgPT4gJEdldFBhcmFte0RCVGFibGV9LAogICAgICAgIFVzZXIgICAgICAgICAgID0+ICRHZXRQYXJhbXtVc2VyfSwKICAgICAgICBQYXNzd29yZCAgICAgICA9PiAkR2V0UGFyYW17UGFzc3dvcmR9LAogICAgICAgIElkZW50aWZpZXIgICAgID0+ICRHZXRQYXJhbXtJZGVudGlmaWVyfSwKICAgICAgICBDYWNoZVRUTCAgICAgICA9PiAkR2V0UGFyYW17Q2FjaGVUVEx9IHx8IDAsCiAgICAgICAgTXVsdGlzZWxlY3QgICAgPT4gJEdldFBhcmFte011bHRpc2VsZWN0fSwKICAgICAgICBTZWFyY2hwcmVmaXggICA9PiAkR2V0UGFyYW17U2VhcmNocHJlZml4fSwKICAgICAgICBTZWFyY2hzdWZmaXggICA9PiAkR2V0UGFyYW17U2VhcmNoc3VmZml4fSwKICAgICAgICBSZXN1bHRMaW1pdCAgICA9PiAkR2V0UGFyYW17UmVzdWx0TGltaXR9LAogICAgICAgIENhc2VTZW5zaXRpdmUgID0+ICRHZXRQYXJhbXtDYXNlU2Vuc2l0aXZlfSwKICAgICAgICBUb29sdGlwICAgICAgICA9PiAkR2V0UGFyYW17VG9vbHRpcH0sCiAgICAgICAgTXVsdGlWYWx1ZSAgICAgPT4gJEdldFBhcmFte011bHRpVmFsdWV9LAogICAgfTsKCiAgICAjIFVwZGF0ZSBkeW5hbWljIGZpZWxkIChGaWVsZFR5cGUgYW5kIE9iamVjdFR5cGUgY2Fubm90IGJlIGNoYW5nZWQ7IHVzZSBvbGQgdmFsdWVzKS4KICAgIG15ICRVcGRhdGVTdWNjZXNzID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkVXBkYXRlKAogICAgICAgIElEICAgICAgICAgPT4gJEZpZWxkSUQsCiAgICAgICAgTmFtZSAgICAgICA9PiAkR2V0UGFyYW17TmFtZX0sCiAgICAgICAgTGFiZWwgICAgICA9PiAkR2V0UGFyYW17TGFiZWx9LAogICAgICAgIEZpZWxkT3JkZXIgPT4gJEdldFBhcmFte0ZpZWxkT3JkZXJ9LAogICAgICAgIEZpZWxkVHlwZSAgPT4gJER5bmFtaWNGaWVsZERhdGEtPntGaWVsZFR5cGV9LAogICAgICAgIE9iamVjdFR5cGUgPT4gJER5bmFtaWNGaWVsZERhdGEtPntPYmplY3RUeXBlfSwKICAgICAgICBDb25maWcgICAgID0+ICRGaWVsZENvbmZpZywKICAgICAgICBWYWxpZElEICAgID0+ICRHZXRQYXJhbXtWYWxpZElEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICk7CgogICAgaWYgKCAhJFVwZGF0ZVN1Y2Nlc3MgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSggJ0NvdWxkIG5vdCB1cGRhdGUgdGhlIGZpZWxkICVzJywgJEdldFBhcmFte05hbWV9ICksCiAgICAgICAgKTsKICAgIH0KCiAgICAjIENsZWFudXAgdGhlIGNhY2hlLgogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkNsZWFuVXAoCiAgICAgICAgVHlwZSA9PiAnRHluYW1pY0ZpZWxkREInLAogICAgKTsKCiAgICBteSAkRmlsdGVyU3RyaW5nID0gJyc7CgogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkR2V0UGFyYW17T2JqZWN0VHlwZUZpbHRlcn0gKSApIHsKICAgICAgICAkRmlsdGVyU3RyaW5nIC49ICI7T2JqZWN0VHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRHZXRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmluZyAuPSAiO0ZpZWxkVHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte0ZpZWxkVHlwZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0gKSApIHsKICAgICAgICAkRmlsdGVyU3RyaW5nIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgSWYgdGhlIHVzZXIgd291bGQgbGlrZSB0byBjb250aW51ZSBlZGl0aW5nIHRoZSBkeW5hbWljIGZpZWxkLCBqdXN0IHJlZGlyZWN0IHRvIHRoZSBjaGFuZ2Ugc2NyZWVuLgogICAgaWYgKAogICAgICAgIGRlZmluZWQgJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0NvbnRpbnVlQWZ0ZXJTYXZlJyApCiAgICAgICAgJiYgKCAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnQ29udGludWVBZnRlclNhdmUnICkgZXEgJzEnICkKICAgICAgICApCiAgICB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KAogICAgICAgICAgICBPUCA9PgogICAgICAgICAgICAgICAgIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn07U3ViYWN0aW9uPUNoYW5nZTtPYmplY3RUeXBlPSREeW5hbWljRmllbGREYXRhLT57T2JqZWN0VHlwZX07RmllbGRUeXBlPSREeW5hbWljRmllbGREYXRhLT57RmllbGRUeXBlfTtJRD0kRmllbGRJRCRGaWx0ZXJTdHJpbmciCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2UgewoKICAgICAgICAjIG90aGVyd2lzZSByZXR1cm4gdG8gb3ZlcnZpZXcKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+UmVkaXJlY3QoIE9QID0+ICJBY3Rpb249QWRtaW5EeW5hbWljRmllbGQkRmlsdGVyU3RyaW5nIiApOwogICAgfQp9CgpzdWIgX1Nob3dTY3JlZW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkUGFyYW17TmFtZX0gLy89ICcnOwoKICAgIG15ICROYW1lc3BhY2UgPSAkUGFyYW17TmFtZXNwYWNlfTsKICAgICRQYXJhbXtEaXNwbGF5RmllbGROYW1lfSA9ICdOZXcnOwoKICAgIGlmICggJFBhcmFte01vZGV9IGVxICdDaGFuZ2UnIHx8ICRQYXJhbXtOYW1lfSApIHsKCiAgICAgICAgaWYgKCAhJFBhcmFte0Nsb25lRmllbGRJRH0gKSB7CiAgICAgICAgICAgICRQYXJhbXtTaG93V2FybmluZ30gICAgICA9ICdTaG93V2FybmluZyc7CiAgICAgICAgICAgICRQYXJhbXtEaXNwbGF5RmllbGROYW1lfSA9ICRQYXJhbXtOYW1lfTsKICAgICAgICB9CgogICAgICAgICMgY2hlY2sgZm9yIG5hbWVzcGFjZQogICAgICAgIGlmICggJFBhcmFte05hbWV9ID1+IC8oLiopLSguKikvICkgewogICAgICAgICAgICAkTmFtZXNwYWNlID0gJDE7CiAgICAgICAgICAgICRQYXJhbXtQbGFpbkZpZWxkTmFtZX0gPSAkMjsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRQYXJhbXtQbGFpbkZpZWxkTmFtZX0gPSAkUGFyYW17TmFtZX07CiAgICAgICAgfQogICAgfQoKICAgICRQYXJhbXtEZWxldGVkU3RyaW5nfSA9ICRTZWxmLT57RGVsZXRlZFN0cmluZ307CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBteSAkT3V0cHV0ID0gJExheW91dE9iamVjdC0+SGVhZGVyKCk7CiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPk5hdmlnYXRpb25CYXIoKTsKCiAgICAjIEdldCBhbGwgZmllbGRzLgogICAgbXkgJER5bmFtaWNGaWVsZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKICAgIG15ICREeW5hbWljRmllbGRMaXN0ICAgPSAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkID0+IDAsCiAgICApOwoKICAgICMgR2V0IHRoZSBsaXN0IG9mIG9yZGVyIG51bWJlcnMgKGlzIGFscmVhZHkgc29ydGVkKS4KICAgIG15IEBEeW5hbWljZmllbGRPcmRlckxpc3Q7CiAgICBteSAlRHluYW1pY2ZpZWxkTmFtZXNMaXN0OwogICAgZm9yIG15ICREeW5hbWljZmllbGQgKCBAeyREeW5hbWljRmllbGRMaXN0fSApIHsKICAgICAgICBwdXNoIEBEeW5hbWljZmllbGRPcmRlckxpc3QsICREeW5hbWljZmllbGQtPntGaWVsZE9yZGVyfTsKICAgICAgICAkRHluYW1pY2ZpZWxkTmFtZXNMaXN0eyAkRHluYW1pY2ZpZWxkLT57RmllbGRPcmRlcn0gfSA9ICREeW5hbWljZmllbGQtPntMYWJlbH07CiAgICB9CgogICAgIyBXaGVuIGFkZGluZyB3ZSBuZWVkIHRvIGNyZWF0ZSBhbiBleHRyYSBvcmRlciBudW1iZXIgZm9yIHRoZSBuZXcgZmllbGQuCiAgICBpZiAoICRQYXJhbXtNb2RlfSBlcSAnQWRkJyApIHsKCiAgICAgICAgIyBHZXQgdGhlIGxhc3QgZWxlbWVudCBmb3JtIHRoZSBvcmRlciBsaXN0IGFuZCBhZGQgMS4KICAgICAgICBteSAkTGFzdE9yZGVyTnVtYmVyID0gJER5bmFtaWNmaWVsZE9yZGVyTGlzdFstMV07CiAgICAgICAgJExhc3RPcmRlck51bWJlcisrOwoKICAgICAgICAjIEFkZCB0aGlzIG5ldyBvcmRlciBudW1iZXIgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC4KICAgICAgICBwdXNoIEBEeW5hbWljZmllbGRPcmRlckxpc3QsICRMYXN0T3JkZXJOdW1iZXI7CiAgICB9CgogICAgIyBTaG93IHRoZSBuYW1lcyBvZiB0aGUgb3RoZXIgZmllbGRzIHRvIGVhc2Ugb3JkZXJpbmcuCiAgICBteSAlT3JkZXJOYW1lc0xpc3Q7CiAgICBteSAkQ3VycmVudGx5VGV4dCA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnQ3VycmVudGx5JykgLiAnOiAnOwogICAgZm9yIG15ICRPcmRlck51bWJlciAoIHNvcnQgQER5bmFtaWNmaWVsZE9yZGVyTGlzdCApIHsKICAgICAgICAkT3JkZXJOYW1lc0xpc3R7JE9yZGVyTnVtYmVyfSA9ICRPcmRlck51bWJlcjsKICAgICAgICBpZiAoICREeW5hbWljZmllbGROYW1lc0xpc3R7JE9yZGVyTnVtYmVyfSAmJiAkT3JkZXJOdW1iZXIgbmUgJFBhcmFte0ZpZWxkT3JkZXJ9ICkgewogICAgICAgICAgICAkT3JkZXJOYW1lc0xpc3R7JE9yZGVyTnVtYmVyfSA9ICRPcmRlck51bWJlciAuICcgLSAnCiAgICAgICAgICAgICAgICAuICRDdXJyZW50bHlUZXh0CiAgICAgICAgICAgICAgICAuICREeW5hbWljZmllbGROYW1lc0xpc3R7JE9yZGVyTnVtYmVyfTsKICAgICAgICB9CiAgICB9CgogICAgbXkgJER5bmFtaWNGaWVsZE9yZGVyU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgICAgICAgICAgPT4gXCVPcmRlck5hbWVzTGlzdCwKICAgICAgICBOYW1lICAgICAgICAgID0+ICdGaWVsZE9yZGVyJywKICAgICAgICBTZWxlY3RlZFZhbHVlID0+ICRQYXJhbXtGaWVsZE9yZGVyfSB8fCAxLAogICAgICAgIFBvc3NpYmxlTm9uZSAgPT4gMCwKICAgICAgICBUcmFuc2xhdGlvbiAgID0+IDAsCiAgICAgICAgU29ydCAgICAgICAgICA9PiAnTnVtZXJpY0tleScsCiAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplIFc3NXBjIFZhbGlkYXRlX051bWJlcicsCiAgICApOwoKICAgIG15ICRNdWx0aVZhbHVlU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAwID0+IFRyYW5zbGF0YWJsZSgnTm8nKSwKICAgICAgICAgICAgMSA9PiBUcmFuc2xhdGFibGUoJ1llcycpLAogICAgICAgIH0sCiAgICAgICAgTmFtZSAgICAgICA9PiAnTXVsdGlWYWx1ZScsCiAgICAgICAgU2VsZWN0ZWRJRCA9PiAkUGFyYW17TXVsdGlWYWx1ZX0gfHwgJzAnLAogICAgICAgIENsYXNzICAgICAgPT4gJ01vZGVybml6ZSBXNTBwYycsCiAgICApOwoKICAgICMgQnVpbGQgbmFtZXNwYWNlIHNlbGVjdGlvbgogICAgbXkgQERGTmFtZXNwYWNlcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpOYW1lc3BhY2UnKS0+TmFtZXNwYWNlc0xpc3QoCiAgICAgICAgU2NvcGUgPT4gJ0R5bmFtaWNGaWVsZCcsCiAgICApOwogICAgaWYgKEBERk5hbWVzcGFjZXMpIHsKICAgICAgICBteSAkTmFtZXNwYWNlU3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICBEYXRhICAgICAgICAgID0+IFxAREZOYW1lc3BhY2VzLAogICAgICAgICAgICBOYW1lICAgICAgICAgID0+ICdOYW1lc3BhY2UnLAogICAgICAgICAgICBTZWxlY3RlZFZhbHVlID0+ICROYW1lc3BhY2UgfHwgJycsCiAgICAgICAgICAgIFBvc3NpYmxlTm9uZSAgPT4gMSwKICAgICAgICAgICAgVHJhbnNsYXRpb24gICA9PiAwLAogICAgICAgICAgICBTb3J0ICAgICAgICAgID0+ICdBbHBoYW51bWVyaWNWYWx1ZScsCiAgICAgICAgICAgIENsYXNzICAgICAgICAgPT4gJ01vZGVybml6ZSBXNzVwYycsCiAgICAgICAgKTsKCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0R5bmFtaWNGaWVsZE5hbWVzcGFjZScsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgTmFtZXNwYWNlU3RyZyA9PiAkTmFtZXNwYWNlU3RyZywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgIG15ICVWYWxpZExpc3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VmFsaWQnKS0+VmFsaWRMaXN0KCk7CgogICAgIyBDcmVhdGUgdGhlIFZhbGlkaXR5IHNlbGVjdC4KICAgIG15ICRWYWxpZGl0eVN0cmcgPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBEYXRhICAgICAgICAgPT4gXCVWYWxpZExpc3QsCiAgICAgICAgTmFtZSAgICAgICAgID0+ICdWYWxpZElEJywKICAgICAgICBTZWxlY3RlZElEICAgPT4gJFBhcmFte1ZhbGlkSUR9IHx8IDEsCiAgICAgICAgUG9zc2libGVOb25lID0+IDAsCiAgICAgICAgVHJhbnNsYXRpb24gID0+IDEsCiAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUgVzUwcGMnLAogICAgKTsKCiAgICAjIERlZmluZSBhcyAwIHRvIGdldCB0aGUgcmVhbCB2YWx1ZSBpbiB0aGUgSFRNTC4KICAgIG15ICRWYWx1ZUNvdW50ZXIgPSAwOwoKICAgICMgU2V0IFBvc3NpYmxlVmFsdWVzLgogICAgbXkgJVBvc3NpYmxlVmFsdWVzOwogICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSggJFBhcmFte1Bvc3NpYmxlVmFsdWVzfSApICkgewogICAgICAgICVQb3NzaWJsZVZhbHVlcyA9ICV7ICRQYXJhbXtQb3NzaWJsZVZhbHVlc30gfTsKICAgIH0KCiAgICAjIFByZXBhcmUgdGhlIHBvc3NpYmxlIHZhbHVlcyBoYXNoIGJhc2VkIG9uIHRoZSBzZXF1ZW50aWFsIG51bWJlciBvZiBhbnkgaXRlbS4KICAgIG15ICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzID0ge307CgogICAgS0VZOgogICAgZm9yIG15ICRLZXkgKCBzb3J0IGtleXMgJVBvc3NpYmxlVmFsdWVzICkgewoKICAgICAgICBuZXh0IEtFWSBpZiAhJEtleTsKCiAgICAgICAgaWYgKCAkS2V5ID1+IG0vXlx3K18oXGQrKSQvICkgewoKICAgICAgICAgICAgaWYgKCAhSXNIYXNoUmVmV2l0aERhdGEoICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JDF9ICkgKSB7CiAgICAgICAgICAgICAgICAkUHJlcGFyZWRQb3NzaWJsZVZhbHVlcy0+eyQxfSA9IHsKICAgICAgICAgICAgICAgICAgICAiJEtleSIgPT4gJFBvc3NpYmxlVmFsdWVzeyRLZXl9LAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JDF9LT57JEtleX0gPSAkUG9zc2libGVWYWx1ZXN7JEtleX07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyBQcmVwYXJlIHRoZSBhdmFpbGFibGUgZGF0YS10eXBlcyBhbmQgZmlsdGVycy4KICAgIG15ICVEYXRhVHlwZXMgPSAoCiAgICAgICAgREFURSAgICA9PiAnRGF0ZScsCiAgICAgICAgSU5URUdFUiA9PiAnSW50ZWdlcicsCiAgICAgICAgVEVYVCAgICA9PiAnVGV4dCcsCiAgICApOwoKICAgIG15ICVGaWx0ZXJzID0gKAogICAgICAgIEN1c3RvbWVySUQgICAgID0+ICdDdXN0b21lcklEJywKICAgICAgICBDdXN0b21lclVzZXJJRCA9PiAnQ3VzdG9tZXJVc2VySUQnLAogICAgICAgIFRpY2tldE51bWJlciAgID0+ICdUaWNrZXROdW1iZXInLAogICAgICAgIFRpdGxlICAgICAgICAgID0+ICdUaXRsZScsCiAgICAgICAgVHlwZSAgICAgICAgICAgPT4gJ1R5cGUnLAogICAgICAgIFR5cGVJRCAgICAgICAgID0+ICdUeXBlSUQnLAogICAgICAgIFNlcnZpY2UgICAgICAgID0+ICdTZXJ2aWNlJywKICAgICAgICBTZXJ2aWNlSUQgICAgICA9PiAnU2VydmljZUlEJywKICAgICAgICBPd25lciAgICAgICAgICA9PiAnT3duZXInLAogICAgICAgIE93bmVySUQgICAgICAgID0+ICdPd25lcklEJywKICAgICAgICBSZXNwb25zaWJsZSAgICA9PiAnUmVzcG9uc2libGUnLAogICAgICAgIFJlc3BvbnNpYmxlSUQgID0+ICdSZXNwb25zaWJsZUlEJywKICAgICAgICBRdWV1ZSAgICAgICAgICA9PiAnUXVldWUnLAogICAgICAgIFF1ZXVlSUQgICAgICAgID0+ICdRdWV1ZUlEJywKICAgICAgICBQcmlvcml0eSAgICAgICA9PiAnUHJpb3JpdHknLAogICAgICAgIFByaW9yaXR5SUQgICAgID0+ICdQcmlvcml0eUlEJywKICAgICAgICBTTEEgICAgICAgICAgICA9PiAnU0xBJywKICAgICAgICBTTEFJRCAgICAgICAgICA9PiAnU0xBSUQnLAogICAgICAgIFN0YXRlICAgICAgICAgID0+ICdTdGF0ZScsCiAgICAgICAgU3RhdGVJRCAgICAgICAgPT4gJ1N0YXRlSUQnLAogICAgICAgIFN0YXRlVHlwZSAgICAgID0+ICdTdGF0ZVR5cGUnLAogICAgKTsKCiAgICAjIEdldCBhIGxpc3Qgb2YgYXZhaWxhYmxlIGR5bmFtaWMgZmllbGRzIGZvciB1c2UgYXMgZmlsdGVycy4KICAgIG15IEBEeW5hbWljRmllbGRDb25maWdMaXN0ID0gQHsKICAgICAgICAkRHluYW1pY0ZpZWxkT2JqZWN0LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgICAgICBPYmplY3RUeXBlID0+IFsgJ1RpY2tldCcsICdBcnRpY2xlJyBdLAogICAgICAgICAgICBGaWVsZFR5cGUgID0+IFsKICAgICAgICAgICAgICAgICdDaGVja2JveCcsCiAgICAgICAgICAgICAgICAnRGF0YWJhc2UnLAogICAgICAgICAgICAgICAgJ0Ryb3Bkb3duJywKICAgICAgICAgICAgICAgICdMZW5zJywKICAgICAgICAgICAgICAgICdBZ2VudCcsCiAgICAgICAgICAgICAgICAnQ29uZmlnSXRlbScsCiAgICAgICAgICAgICAgICAnQ29uZmlnSXRlbVZlcnNpb24nLAogICAgICAgICAgICAgICAgJ0N1c3RvbWVyQ29tcGFueScsCiAgICAgICAgICAgICAgICAnQ3VzdG9tZXJVc2VyJywKICAgICAgICAgICAgICAgICdGQVEnLAogICAgICAgICAgICAgICAgJ1NlcnZpY2UnLAogICAgICAgICAgICAgICAgJ1RpY2tldCcsCiAgICAgICAgICAgICAgICAnU2NyaXB0VGVtcGxhdGVUb29sa2l0JywKICAgICAgICAgICAgICAgICdUZXh0QXJlYScsCiAgICAgICAgICAgICAgICAnVGV4dCcsCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgKSAvLyBbXQogICAgfTsKCiAgICAjIEFkZCB0aGUgZHluYW1pYyBmaWVsZHMgdG8gdGhlIGhhc2guCiAgICBEWU5BTUlDRklFTERLRVk6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoQER5bmFtaWNGaWVsZENvbmZpZ0xpc3QpIHsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMREtFWSBpZiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57Q29uZmlnfXtNdWx0aVZhbHVlfTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMREtFWSBpZiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57Q29uZmlnfXtNdWx0aXNlbGVjdH07CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTERLRVkgaWYgJER5bmFtaWNGaWVsZENvbmZpZy0+e0NvbmZpZ317UGFydE9mU2V0fTsKCiAgICAgICAgIyBJZ25vcmUgdGhlIG93biBmaWVsZC4KICAgICAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtOYW1lfSApICkgewogICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMREtFWSBpZiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gZXEgJFBhcmFte05hbWV9OwogICAgICAgIH0KCiAgICAgICAgbXkgJER5bmFtaWNGaWVsZE5hbWUgPSAnRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX07CiAgICAgICAgJEZpbHRlcnN7JER5bmFtaWNGaWVsZE5hbWV9ID0gJER5bmFtaWNGaWVsZE5hbWU7CiAgICB9CgogICAgIyBQcmVwYXJlIHRoZSBpZGVudGlmaWVyIGRhdGEgZm9yIHRoZSBkcm9wLWRvd24gbWVudS4KICAgIG15ICVJZGVudGlmaWVyRGF0YTsKCiAgICAjIE91dHB1dCB0aGUgcG9zc2libGUgdmFsdWVzIGFuZCBlcnJvcnMgd2l0aGluIChpZiBhbnkpLgogICAgS0VZOgogICAgZm9yIG15ICRLZXkgKCBzb3J0IGtleXMgJXskUHJlcGFyZWRQb3NzaWJsZVZhbHVlc30gKSB7CgogICAgICAgIG5leHQgS0VZIGlmICEkS2V5OwogICAgICAgIG5leHQgS0VZIGlmICFJc0hhc2hSZWZXaXRoRGF0YSggJFByZXBhcmVkUG9zc2libGVWYWx1ZXMtPnskS2V5fSApOwoKICAgICAgICAkVmFsdWVDb3VudGVyKys7CgogICAgICAgICMgTmVlZGVkIGZvciBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLgogICAgICAgIG15ICRLZXlFcnJvcjsKICAgICAgICBteSAkS2V5RXJyb3JTdHJnOwogICAgICAgIG15ICRWYWx1ZUVycm9yOwoKICAgICAgICAjIFRvIHNldCB0aGUgY29ycmVjdCBvcmlnaW5hbCB2YWx1ZS4KICAgICAgICBteSAkS2V5Q2xvbmUgPSAkS2V5OwoKICAgICAgICAjIENoZWNrIGZvciBlcnJvcnMuCiAgICAgICAgaWYgKCAkUGFyYW17J1Bvc3NpYmxlVmFsdWVFcnJvcnMnfSApIHsKCiAgICAgICAgICAgICMgQ2hlY2sgZm9yIGVycm9ycyBvbiBvcmlnaW5hbCB2YWx1ZSAoZW1wdHkpLgogICAgICAgICAgICBpZiAoICRQYXJhbXsnUG9zc2libGVWYWx1ZUVycm9ycyd9LT57J0tleUVtcHR5RXJyb3InfS0+eyRLZXl9ICkgewoKICAgICAgICAgICAgICAgICMgSWYgdGhlIG9yaWdpbmFsIHZhbHVlIHdhcyBlbXB0eSBpdCBoYXMgYmVlbiBjaGFuZ2VkIGluIF9HZXRQYXJhbXMgdG8gYSBwcmVkZWZpbmVkCiAgICAgICAgICAgICAgICAjICAgc3RyaW5nIGFuZCBuZWVkIHRvIGJlIHNldCB0byBlbXB0eSBhZ2Fpbi4KICAgICAgICAgICAgICAgICRLZXlDbG9uZSA9ICcnOwoKICAgICAgICAgICAgICAgICMgU2V0IHRoZSBlcnJvciBjbGFzcy4KICAgICAgICAgICAgICAgICRLZXlFcnJvciAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgJEtleUVycm9yU3RyZyA9IFRyYW5zbGF0YWJsZSgnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBjaGVjayBmb3IgZXJyb3JzIG9uIG9yaWdpbmFsIHZhbHVlIChkdXBsaWNhdGUpCiAgICAgICAgICAgIGVsc2lmICggJFBhcmFteydQb3NzaWJsZVZhbHVlRXJyb3JzJ30tPnsnS2V5RHVwbGljYXRlRXJyb3InfS0+eyRLZXl9ICkgewoKICAgICAgICAgICAgICAgICMgSWYgdGhlIG9yaWdpbmFsIHZhbHVlIHdhcyBlbXB0eSBpdCBoYXMgYmVlbiBjaGFuZ2VkIGluIF9HZXRQYXJhbXMgdG8gYSBwcmVkZWZpbmVkCiAgICAgICAgICAgICAgICAjICAgc3RyaW5nIGFuZCBuZWVkIHRvIGJlIHNldCB0byB0aGUgb3JpZ2luYWwgdmFsdWUgYWdhaW4uCiAgICAgICAgICAgICAgICAkS2V5Q2xvbmUgPSAkUGFyYW17J1Bvc3NpYmxlVmFsdWVFcnJvcnMnfS0+eydLZXlEdXBsaWNhdGVFcnJvcid9LT57JEtleX07CgogICAgICAgICAgICAgICAgIyBzZXQgdGhlIGVycm9yIGNsYXNzCiAgICAgICAgICAgICAgICAkS2V5RXJyb3IgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgICRLZXlFcnJvclN0cmcgPSBUcmFuc2xhdGFibGUoJ1RoaXMgZmllbGQgdmFsdWUgaXMgZHVwbGljYXRlZC4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBDaGVjayBmb3IgZXJyb3Igb24gdmFsdWUuCiAgICAgICAgICAgIGlmICggJFBhcmFteydQb3NzaWJsZVZhbHVlRXJyb3JzJ30tPnsnVmFsdWVFbXB0eUVycm9yJ30tPnskS2V5fSApIHsKCiAgICAgICAgICAgICAgICAjIFNldCB0aGUgZXJyb3IgY2xhc3MuCiAgICAgICAgICAgICAgICAkVmFsdWVFcnJvciA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG15ICVOb3JtYWxpemVkUG9zc2libGVWYWx1ZU5hbWVzOwoKICAgICAgICBPTERLRVk6CiAgICAgICAgZm9yIG15ICRPbGRLZXkgKCBzb3J0IGtleXMgJXsgJFByZXBhcmVkUG9zc2libGVWYWx1ZXMtPnskS2V5fSB9ICkgewoKICAgICAgICAgICAgbmV4dCBPTERLRVkgaWYgISRPbGRLZXk7CgogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAkT2xkS2V5ID1+IG0vXihcdyspXyhcZCspJC8KICAgICAgICAgICAgICAgICYmIElzU3RyaW5nV2l0aERhdGEoICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JEtleX0tPnskT2xkS2V5fSApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICBteSAkTmV3S2V5ICAgICAgICAgICA9ICQxOwogICAgICAgICAgICAgICAgbXkgJFNlcXVlbnRpYWxOdW1iZXIgPSAkMjsKCiAgICAgICAgICAgICAgICBpZiAoICRPbGRLZXkgPX4gbS8oPzpTZWFyY2hmaWVsZHxMaXN0ZmllbGQpLyApIHsKICAgICAgICAgICAgICAgICAgICAkTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lc3skTmV3S2V5fSA9ICdjaGVja2VkICc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNpZiAoICRPbGRLZXkgPX4gbS9GaWVsZE5hbWUvICkgewogICAgICAgICAgICAgICAgICAgICROb3JtYWxpemVkUG9zc2libGVWYWx1ZU5hbWVzeyROZXdLZXl9ID0gJFByZXBhcmVkUG9zc2libGVWYWx1ZXMtPnskS2V5fS0+eyRPbGRLZXl9OwoKICAgICAgICAgICAgICAgICAgICAjIEZpbGwgdGhlIGlkZW50aWZpZXIgZGF0YSBoYXNoLgogICAgICAgICAgICAgICAgICAgICRJZGVudGlmaWVyRGF0YXskU2VxdWVudGlhbE51bWJlcn0gPSAkUHJlcGFyZWRQb3NzaWJsZVZhbHVlcy0+eyRLZXl9LT57JE9sZEtleX07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lc3skTmV3S2V5fSA9ICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JEtleX0tPnskT2xkS2V5fTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBCdWlsZCB0aGUgZGF0YS10eXBlIGZpZWxkCiAgICAgICAgJFBhcmFte0RhdGF0eXBlfSA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVEYXRhVHlwZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAiRmllbGREYXRhdHlwZV8kVmFsdWVDb3VudGVyIiwKICAgICAgICAgICAgSUQgICAgICAgICAgID0+ICJGaWVsZERhdGF0eXBlXyRWYWx1ZUNvdW50ZXIiLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZSBWYWxpZGF0ZV9SZXF1aXJlZCcsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lc3tGaWVsZERhdGF0eXBlfSwKICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDEsCiAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgQnVpbGQgdGhlIHNlbGVjdCBmaWVsZCBmb3IgdGhlIGZpbHRlcnMuCiAgICAgICAgJFBhcmFte1NlbGVjdEZpbHRlcn0gPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlRmlsdGVycywKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICJGaWVsZEZpbHRlcl8kVmFsdWVDb3VudGVyIiwKICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICROb3JtYWxpemVkUG9zc2libGVWYWx1ZU5hbWVze0ZpZWxkRmlsdGVyfSwKICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDEsCiAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgKTsKCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwoKICAgICAgICAjIGNoZWNrIGlmIEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgZmVhdHVyZSBpcyBhY3RpdmF0ZWQKICAgICAgICBteSAkRXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSA9ICRDb25maWdPYmplY3QtPkdldCgnRHluYW1pY0ZpZWxkREI6OkV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUnKTsKICAgICAgICBpZiAoICRFeHRlbmRlZFZhbHVlU3RydWN0dXJlICkgewoKICAgICAgICAgICAgIyBCdWlsZCB0aGUgc2VsZWN0IGZpZWxkIGZvciB0aGUgZGlzcGxheSBmaWVsZCBoZWFkZXJzLgogICAgICAgICAgICBteSBASGVhZGVycyA9ICgnR2VuZXJhbCcpOwogICAgICAgICAgICBteSAkRGlzcGxheWZpZWxkSGVhZGVycyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyktPkdldCgnRHluYW1pY0ZpZWxkREI6OkRpc3BsYXlmaWVsZEhlYWRlcnMnKTsKICAgICAgICAgICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoJERpc3BsYXlmaWVsZEhlYWRlcnMpICkgewogICAgICAgICAgICAgICAgQEhlYWRlcnMgPSB1bmlxIChASGVhZGVycywgJERpc3BsYXlmaWVsZEhlYWRlcnMtPkAqKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJFBhcmFte1NlbGVjdERpc3BsYXlmaWVsZH0gPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcQEhlYWRlcnMsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gIkRpc3BsYXlmaWVsZF8kVmFsdWVDb3VudGVyIiwKICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lc3tEaXNwbGF5ZmllbGR9LAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICMgQ3JlYXRlIGEgdmFsdWUgbWFwIHJvdy4KICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVmFsdWVSb3cnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICVOb3JtYWxpemVkUG9zc2libGVWYWx1ZU5hbWVzLAogICAgICAgICAgICAgICAgVmFsdWVDb3VudGVyID0+ICRWYWx1ZUNvdW50ZXIsCiAgICAgICAgICAgICAgICBEYXRhdHlwZSAgICAgPT4gJFBhcmFte0RhdGF0eXBlfSwKICAgICAgICAgICAgICAgIFNlbGVjdEZpbHRlciA9PiAkUGFyYW17U2VsZWN0RmlsdGVyfSwKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgICAgICAgICBTZWxlY3REaXNwbGF5ZmllbGQgPT4gJFBhcmFte1NlbGVjdERpc3BsYXlmaWVsZH0sCiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIEJ1aWxkIHRoZSBkYXRhLXR5cGUgYW5kIGZpbHRlciBmaWVsZC4KICAgICRQYXJhbXtEYXRhdHlwZX0gPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBEYXRhICAgICAgICAgPT4gXCVEYXRhVHlwZXMsCiAgICAgICAgTmFtZSAgICAgICAgID0+ICdGaWVsZERhdGF0eXBlJywKICAgICAgICBJRCAgICAgICAgICAgPT4gJ0ZpZWxkRGF0YXR5cGUnLAogICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICk7CgogICAgJFBhcmFte1NlbGVjdEZpbHRlcn0gPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBEYXRhICAgICAgICAgPT4gXCVGaWx0ZXJzLAogICAgICAgIE5hbWUgICAgICAgICA9PiAnRmllbGRGaWx0ZXInLAogICAgICAgIElEICAgICAgICAgICA9PiAnRmllbGRGaWx0ZXInLAogICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICk7CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICBteSAkQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKCiAgICAgICAgIyBjaGVjayBpZiBFeHRlbmRlZFZhbHVlU3RydWN0dXJlIGZlYXR1cmUgaXMgYWN0aXZhdGVkCiAgICAgICAgbXkgJEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0R5bmFtaWNGaWVsZERCOjpFeHRlbmRlZFZhbHVlU3RydWN0dXJlJyk7CiAgICAgICAgaWYgKCAkRXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSApIHsKCiAgICAgICAgICAgICMgQnVpbGQgdGhlIHNlbGVjdCBmaWVsZCBmb3IgdGhlIGRpc3BsYXkgZmllbGQgaGVhZGVycy4KICAgICAgICAgICAgbXkgQEhlYWRlcnMgPSAoJ0dlbmVyYWwnKTsKICAgICAgICAgICAgbXkgJERpc3BsYXlmaWVsZEhlYWRlcnMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0R5bmFtaWNGaWVsZERCOjpEaXNwbGF5ZmllbGRIZWFkZXJzJyk7CiAgICAgICAgICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCREaXNwbGF5ZmllbGRIZWFkZXJzKSApIHsKICAgICAgICAgICAgICAgIEBIZWFkZXJzID0gdW5pcSAoQEhlYWRlcnMsICREaXNwbGF5ZmllbGRIZWFkZXJzLT5AKik7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRQYXJhbXtTZWxlY3REaXNwbGF5ZmllbGR9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXEBIZWFkZXJzLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICJEaXNwbGF5ZmllbGQiLAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAnTW9kZXJuaXplJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgIyBDcmVhdGUgdGhlIHBvc3NpYmxlIHZhbHVlcyB0ZW1wbGF0ZS4KICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1ZhbHVlVGVtcGxhdGUnLAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgfSwKICAgICk7CgogICAgIyBEZWZpbmUgY29uZmlnIGZpZWxkIHNwZWNpZmljIHNldHRpbmdzLgogICAgbXkgJERlZmF1bHRWYWx1ZSA9ICggZGVmaW5lZCAkUGFyYW17RGVmYXVsdFZhbHVlfSA/ICRQYXJhbXtEZWZhdWx0VmFsdWV9IDogJycgKTsKCiAgICAjIENyZWF0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBlbGVtZW50LgogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnRGVmYXVsdFZhbHVlJyAuICRQYXJhbXtGaWVsZFR5cGV9LAogICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIERlZmF1bHRWYWx1ZSA9PiAkRGVmYXVsdFZhbHVlLAogICAgICAgIH0sCiAgICApOwoKICAgICMgRGVmaW5lIGNvbmZpZyBmaWVsZCBzcGVjaWZpYyBzZXR0aW5ncy4KICAgIG15ICRMaW5rICAgICAgICA9ICRQYXJhbXtMaW5rfSAgICAgICAgfHwgJyc7CiAgICBteSAkTGlua1ByZXZpZXcgPSAkUGFyYW17TGlua1ByZXZpZXd9IHx8ICcnOwoKICAgIGlmICggJFBhcmFte0ZpZWxkVHlwZX0gZXEgJ0RhdGFiYXNlJyApIHsKCiAgICAgICAgIyBDcmVhdGUgdGhlIGRlZmF1bHQgbGluayBlbGVtZW50LgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdMaW5rJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICBMaW5rICAgICAgICA9PiAkTGluaywKICAgICAgICAgICAgICAgIExpbmtQcmV2aWV3ID0+ICRMaW5rUHJldmlldywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgUHJlcGFyZSBhdmFpbGFibGUgZGF0YWJhc2UgdHlwZXMuCiAgICBteSAlRGF0YWJhc2VzID0gKAogICAgICAgIG15c3FsICAgICAgPT4gIk15U1FMIiwKICAgICAgICBwb3N0Z3Jlc3FsID0+ICJQb3N0Z3JlU1FMIiwKICAgICAgICBPREJDICAgICAgID0+ICJTUUwgU2VydmVyIChPREJDKSIsCiAgICAgICAgb3JhY2xlICAgICA9PiAiT3JhY2xlIiwKICAgICk7CgogICAgIyBCdWlsZCB0aGUgc2VsZWN0IGZpZWxkIGZvciB0aGUgSW5zdGFsbGVyREJTdGFydC50dC4KICAgICRQYXJhbXtTZWxlY3REQlR5cGV9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlRGF0YWJhc2VzLAogICAgICAgIE5hbWUgICAgICAgICA9PiAnREJUeXBlJywKICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZSBWYWxpZGF0ZV9SZXF1aXJlZCcsCiAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtEQlR5cGV9IHx8ICdteXNxbCcsCiAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgSUQgICAgICAgICAgID0+ICdUeXBlJywKICAgICk7CgogICAgIyBCdWlsZCB0aGUgc2VsZWN0IGZpZWxkIGZvciB0aGUgaWRlbnRpZmllci4KICAgICRQYXJhbXtJZGVudGlmaWVyfSA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgICAgICAgICA9PiBcJUlkZW50aWZpZXJEYXRhLAogICAgICAgIE5hbWUgICAgICAgICA9PiAnSWRlbnRpZmllcicsCiAgICAgICAgSUQgICAgICAgICAgID0+ICdJZGVudGlmaWVyJywKICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZSBWYWxpZGF0ZV9SZXF1aXJlZCcsCiAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtJZGVudGlmaWVyfSwKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICk7CgogICAgIyBkZWZpbmUgdG9vbHRpcAogICAgbXkgJFRvb2x0aXAgPSAoIGRlZmluZWQgJFBhcmFte1Rvb2x0aXB9ID8gJFBhcmFte1Rvb2x0aXB9IDogJycgKTsKCiAgICAjIGNyZWF0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBlbGVtZW50CiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdUb29sdGlwJywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBUb29sdGlwID0+ICRUb29sdGlwLAogICAgICAgIH0sCiAgICApOwoKICAgICMgSW50ZXJuYWwgZmllbGRzIGNhbiBub3QgYmUgZGVsZXRlZCBhbmQgbmFtZSBzaG91bGQgbm90IGNoYW5nZS4KICAgIG15ICRSZWFkb25seUludGVybmFsRmllbGQgPSAnJzsKICAgIGlmICggJFBhcmFte0ludGVybmFsRmllbGR9ICkgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdJbnRlcm5hbEZpZWxkJywKICAgICAgICAgICAgRGF0YSA9PiB7JVBhcmFtfSwKICAgICAgICApOwogICAgICAgICRSZWFkb25seUludGVybmFsRmllbGQgPSAncmVhZG9ubHknOwogICAgfQoKICAgIG15ICREeW5hbWljRmllbGROYW1lID0gJFBhcmFte05hbWV9OwoKICAgICMgQWRkIHdhcm5pbmcgaW4gY2FzZSB0aGUgRHluYW1pY0ZpZWxkIGJlbG9uZ3MgYSBTeXNDb25maWcgc2V0dGluZy4KICAgIG15ICRTeXNDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6U3lzQ29uZmlnJyk7CgogICAgIyBJbiBjYXNlIGRpcnR5IHNldHRpbmcgZGlzYWJsZSBmb3JtLgogICAgbXkgJElzRGlydHlDb25maWcgPSAwOwogICAgbXkgQElzRGlydHlSZXN1bHQgPSAkU3lzQ29uZmlnT2JqZWN0LT5Db25maWd1cmF0aW9uRGlydHlTZXR0aW5nc0xpc3QoKTsKICAgIG15ICVJc0RpcnR5TGlzdCAgID0gbWFwIHsgJF8gPT4gMSB9IEBJc0RpcnR5UmVzdWx0OwoKICAgIG15IEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnID0gJFN5c0NvbmZpZ09iamVjdC0+Q29uZmlndXJhdGlvbkVudGl0eUNoZWNrKAogICAgICAgIEVudGl0eVR5cGUgPT4gJ0R5bmFtaWNGaWVsZCcsCiAgICAgICAgRW50aXR5TmFtZSA9PiAkRHluYW1pY0ZpZWxkTmFtZSAvLyAnJywKICAgICk7CgogICAgaWYgKEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBPbGROYW1lID0+ICREeW5hbWljRmllbGROYW1lLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICAgICAgZm9yIG15ICRTZXR0aW5nTmFtZSAoQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWcpIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdEeW5hbWljRmllbGRJblN5c0NvbmZpZ1JvdycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBTZXR0aW5nTmFtZSA9PiAkU2V0dGluZ05hbWUsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBWZXJpZnkgaWYgZGlydHkgc2V0dGluZy4KICAgICAgICAgICAgaWYgKCAkSXNEaXJ0eUxpc3R7JFNldHRpbmdOYW1lfSApIHsKICAgICAgICAgICAgICAgICRJc0RpcnR5Q29uZmlnID0gMTsKICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICB9CgogICAgaWYgKCRJc0RpcnR5Q29uZmlnKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnRGlydHknLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJEZpbHRlclN0cmcgPSAnJzsKICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmcgLj0gIjtPYmplY3RUeXBlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17T2JqZWN0VHlwZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmcgLj0gIjtGaWVsZFR5cGVGaWx0ZXI9IiAuICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGUgPT4gJ1slIERhdGEuRmlsdGVyIHwgdXJpICVdJywKICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgRmlsdGVyID0+ICRQYXJhbXtGaWVsZFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgaWYgKEBERk5hbWVzcGFjZXMpIHsKICAgICAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgKSB7CiAgICAgICAgICAgICRGaWx0ZXJTdHJnIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWRtaW5EeW5hbWljRmllbGREQicsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBGaWx0ZXJTdHJnICAgICAgICAgICAgPT4gJEZpbHRlclN0cmcsCiAgICAgICAgICAgIFZhbHVlQ291bnRlciAgICAgICAgICA9PiAkVmFsdWVDb3VudGVyLAogICAgICAgICAgICBWYWxpZGl0eVN0cmcgICAgICAgICAgPT4gJFZhbGlkaXR5U3RyZywKICAgICAgICAgICAgRHluYW1pY0ZpZWxkT3JkZXJTdHJnID0+ICREeW5hbWljRmllbGRPcmRlclN0cmcsCiAgICAgICAgICAgIERlZmF1bHRWYWx1ZSAgICAgICAgICA9PiAkRGVmYXVsdFZhbHVlLAogICAgICAgICAgICBNdWx0aVZhbHVlU3RyZyAgICAgICAgPT4gJE11bHRpVmFsdWVTdHJnLAogICAgICAgICAgICBSZWFkb25seUludGVybmFsRmllbGQgPT4gJFJlYWRvbmx5SW50ZXJuYWxGaWVsZCwKICAgICAgICAgICAgTGluayAgICAgICAgICAgICAgICAgID0+ICRMaW5rLAogICAgICAgICAgICBUb29sdGlwICAgICAgICAgICAgICAgPT4gJFRvb2x0aXAsCiAgICAgICAgfQogICAgKTsKCiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CgpzdWIgX0dldFBvc3NpYmxlVmFsdWVzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFBvc3NpYmxlVmFsdWVDb25maWc7CgogICAgbXkgJFBhcmFtT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcpOwoKICAgIG15ICRWYWx1ZUNvdW50ZXIgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVmFsdWVDb3VudGVyJyApIHx8IDA7CgogICAgbXkgJFZhbHVlUmVhbEluZGV4ID0gMTsKCiAgICBWQUxVRUlOREVYOgogICAgZm9yIG15ICRWYWx1ZUluZGV4ICggMSAuLiAkVmFsdWVDb3VudGVyICkgewoKICAgICAgICAjIEdldCBwb3NzaWJsZSBrZXlzIGFuZCByZWxhdGVkIHZhbHVlcy4KICAgICAgICBteSAkS2V5RmllbGROYW1lICAgICA9ICdGaWVsZE5hbWUnIC4gJ18nIC4gJFZhbHVlSW5kZXg7CiAgICAgICAgbXkgJEtleUZpZWxkTGFiZWwgICAgPSAnRmllbGRMYWJlbCcgLiAnXycgLiAkVmFsdWVJbmRleDsKICAgICAgICBteSAkS2V5RmllbGREYXRhdHlwZSA9ICdGaWVsZERhdGF0eXBlJyAuICdfJyAuICRWYWx1ZUluZGV4OwogICAgICAgIG15ICRLZXlGaWVsZEZpbHRlciAgID0gJ0ZpZWxkRmlsdGVyJyAuICdfJyAuICRWYWx1ZUluZGV4OwogICAgICAgIG15ICRLZXlTZWFyY2hmaWVsZCAgID0gJ1NlYXJjaGZpZWxkJyAuICdfJyAuICRWYWx1ZUluZGV4OwogICAgICAgIG15ICRLZXlMaXN0ZmllbGQgICAgID0gJ0xpc3RmaWVsZCcgLiAnXycgLiAkVmFsdWVJbmRleDsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgbXkgJEtleURpc3BsYXlmaWVsZCAgPSAnRGlzcGxheWZpZWxkJyAuICdfJyAuICRWYWx1ZUluZGV4OwojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgICAgICBteSAkVmFsdWVGaWVsZE5hbWUgICAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEtleUZpZWxkTmFtZSApOwogICAgICAgIG15ICRWYWx1ZUZpZWxkTGFiZWwgICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5RmllbGRMYWJlbCApOwogICAgICAgIG15ICRWYWx1ZUZpZWxkRGF0YXR5cGUgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5RmllbGREYXRhdHlwZSApOwogICAgICAgIG15ICRWYWx1ZUZpZWxkRmlsdGVyICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5RmllbGRGaWx0ZXIgKTsKICAgICAgICBteSAkVmFsdWVTZWFyY2hmaWVsZCAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEtleVNlYXJjaGZpZWxkICk7CiAgICAgICAgbXkgJFZhbHVlTGlzdGZpZWxkICAgICA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRLZXlMaXN0ZmllbGQgKTsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgbXkgJFZhbHVlRGlzcGxheWZpZWxkICA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRLZXlEaXNwbGF5ZmllbGQgKTsKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICAgICAgJFZhbHVlRmllbGROYW1lICAgICA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZE5hbWUgICAgID8gJFZhbHVlRmllbGROYW1lICAgICA6ICcnICk7CiAgICAgICAgJFZhbHVlRmllbGRMYWJlbCAgICA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZExhYmVsICAgID8gJFZhbHVlRmllbGRMYWJlbCAgICA6ICcnICk7CiAgICAgICAgJFZhbHVlRmllbGREYXRhdHlwZSA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZERhdGF0eXBlID8gJFZhbHVlRmllbGREYXRhdHlwZSA6ICcnICk7CiAgICAgICAgJFZhbHVlRmllbGRGaWx0ZXIgICA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZEZpbHRlciAgID8gJFZhbHVlRmllbGRGaWx0ZXIgICA6ICcnICk7CiAgICAgICAgJFZhbHVlU2VhcmNoZmllbGQgICA9ICggZGVmaW5lZCAkVmFsdWVTZWFyY2hmaWVsZCAgID8gJFZhbHVlU2VhcmNoZmllbGQgICA6ICcnICk7CiAgICAgICAgJFZhbHVlTGlzdGZpZWxkICAgICA9ICggZGVmaW5lZCAkVmFsdWVMaXN0ZmllbGQgICAgID8gJFZhbHVlTGlzdGZpZWxkICAgICA6ICcnICk7CiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICRWYWx1ZURpc3BsYXlmaWVsZCAgICAgPSAoIGRlZmluZWQgJFZhbHVlRGlzcGxheWZpZWxkICAgICA/ICRWYWx1ZURpc3BsYXlmaWVsZCAgICAgOiAnJyApOwojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgICAgICAjIENoZWNrIGZvciByZW1vdmVkIHZhbHVlcy4KICAgICAgICBpZiAoICFJc1N0cmluZ1dpdGhEYXRhKCRWYWx1ZUZpZWxkTmFtZSkgfHwgIUlzU3RyaW5nV2l0aERhdGEoJFZhbHVlRmllbGRMYWJlbCkgfHwgIUlzU3RyaW5nV2l0aERhdGEoJFZhbHVlRmllbGREYXRhdHlwZSkgKSB7CiAgICAgICAgICAgIG5leHQgVkFMVUVJTkRFWDsKICAgICAgICB9CgogICAgICAgICRQb3NzaWJsZVZhbHVlQ29uZmlnLT57ICdGaWVsZE5hbWVfJyAuICRWYWx1ZVJlYWxJbmRleCB9ICAgICA9ICRWYWx1ZUZpZWxkTmFtZTsKICAgICAgICAkUG9zc2libGVWYWx1ZUNvbmZpZy0+eyAnRmllbGRMYWJlbF8nIC4gJFZhbHVlUmVhbEluZGV4IH0gICAgPSAkVmFsdWVGaWVsZExhYmVsOwogICAgICAgICRQb3NzaWJsZVZhbHVlQ29uZmlnLT57ICdGaWVsZERhdGF0eXBlXycgLiAkVmFsdWVSZWFsSW5kZXggfSA9ICRWYWx1ZUZpZWxkRGF0YXR5cGU7CiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPnsgJ0ZpZWxkRmlsdGVyXycgLiAkVmFsdWVSZWFsSW5kZXggfSAgID0gJFZhbHVlRmllbGRGaWx0ZXI7CiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPnsgJ1NlYXJjaGZpZWxkXycgLiAkVmFsdWVSZWFsSW5kZXggfSAgID0gJFZhbHVlU2VhcmNoZmllbGQ7CiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPnsgJ0xpc3RmaWVsZF8nIC4gJFZhbHVlUmVhbEluZGV4IH0gICAgID0gJFZhbHVlTGlzdGZpZWxkOwojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICAkUG9zc2libGVWYWx1ZUNvbmZpZy0+eyAnRGlzcGxheWZpZWxkXycgLiAkVmFsdWVSZWFsSW5kZXggfSAgICAgPSAkVmFsdWVEaXNwbGF5ZmllbGQ7CiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPntWYWx1ZUNvdW50ZXJ9ICAgICAgICAgICAgICAgICAgICAgICAgID0gJFZhbHVlQ291bnRlcjsKCiAgICAgICAgJFZhbHVlUmVhbEluZGV4Kys7CiAgICB9CgogICAgcmV0dXJuICRQb3NzaWJsZVZhbHVlQ29uZmlnOwp9CgoxOwo=</File>
        <File Location="Custom/Kernel/Output/HTML/Templates/Standard/AdminDynamicFieldDB.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE5IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSA0YmIxYWViZDNiYjM3YTQ0Y2U2ZDkzMTNmMjUxZGY5NzNiZDA4NTVhIC0gS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkR5bmFtaWNGaWVsZERCLnR0CiMgLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgojIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKIyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwojIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiMgLS0KCjxkaXYgY2xhc3M9Ik1haW5Cb3ggQVJJQVJvbGVNYWluIExheW91dEZpeGVkU2lkZWJhciBTaWRlYmFyRmlyc3QiPgogICAgPGgxPgogICAgICAgIFslIFRyYW5zbGF0ZSgiRHluYW1pYyBGaWVsZHMiKSB8IGh0bWwgJV0gLSBbJSBUcmFuc2xhdGUoRGF0YS5PYmplY3RUeXBlTmFtZSkgfCBodG1sICVdOgogICAgICAgIFslIFVTRSBUaXRsZSA9IFN0cmluZyhEYXRhLk1vZGUpICVdCiAgICAgICAgWyUgVGl0bGUgPSBUcmFuc2xhdGUoVGl0bGUuYXBwZW5kKCAnICcsIERhdGEuRmllbGRUeXBlTmFtZSwgJyBGaWVsZCcpKSAlXQogICAgICAgIFslIFRpdGxlIHwgaHRtbCAlXQogICAgPC9oMT4KCiAgICBbJSBCcmVhZGNydW1iUGF0aCA9IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSA9PiBUcmFuc2xhdGUoJ0R5bmFtaWMgRmllbGRzIE1hbmFnZW1lbnQnKSwKICAgICAgICAgICAgICAgIExpbmsgPT4gJ0FkbWluRHluYW1pY0ZpZWxkJyBfIERhdGEuRmlsdGVyU3RyZywKICAgICAgICAgICAgfSwKICAgICAgICBdCiAgICAlXQoKICAgIFslIFVTRSBCcmVhZGNydW1iTmFtZSA9IFN0cmluZyhUcmFuc2xhdGUoRGF0YS5PYmplY3RUeXBlTmFtZSkpICVdCgogICAgWyUgU1dJVENIIERhdGEuTW9kZSAlXQogICAgICAgIFslIENBU0UgJ0FkZCcgJV0KICAgICAgICAgICAgWyUgQnJlYWRjcnVtYlBhdGgucHVzaCh7IE5hbWUgPT4gQnJlYWRjcnVtYk5hbWUuYXBwZW5kKCAnOiAnLCBUaXRsZSApIH0pICVdCiAgICAgICAgWyUgQ0FTRSAnQ2hhbmdlJyAlXQogICAgICAgICAgICBbJSBCcmVhZGNydW1iUGF0aC5wdXNoKHsgTmFtZSA9PiBCcmVhZGNydW1iTmFtZS5hcHBlbmQoICc6ICcsIFRpdGxlLCAnIC0gJywgRGF0YS5OYW1lICkgfSkgJV0KICAgIFslIEVORCAlXQoKICAgIFslIElOQ0xVREUgIkJyZWFkY3J1bWIudHQiIFBhdGggPSBCcmVhZGNydW1iUGF0aCAlXQoKICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJTaWRlYmFyQ29sdW1uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZSgiQWN0aW9ucyIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iQWN0aW9uTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249QWRtaW5EeW5hbWljRmllbGRbJSBEYXRhLkZpbHRlclN0cmcgJV0iIGNsYXNzPSJDYWxsRm9yQWN0aW9uIEZ1bGxzaXplIENlbnRlciI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLWNhcmV0LWxlZnQiPjwvaT5bJSBUcmFuc2xhdGUoIkdvIGJhY2sgdG8gb3ZlcnZpZXciKSB8IGh0bWwgJV08L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IkNvbnRlbnRDb2x1bW4iPgogICAgICAgIDxmb3JtIGlkPSJFbnRpdHlVcGRhdGUiIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IkFkbWluRHluYW1pY0ZpZWxkREIiIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9IlslIERhdGEuTW9kZSB8IGh0bWwgJV1BY3Rpb24iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik9iamVjdFR5cGUiIHZhbHVlPSJbJSBEYXRhLk9iamVjdFR5cGUgfCBodG1sICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJGaWVsZFR5cGUiIHZhbHVlPSJbJSBEYXRhLkZpZWxkVHlwZSB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik9iamVjdFR5cGVGaWx0ZXIiIHZhbHVlPSJbJSBEYXRhLk9iamVjdFR5cGVGaWx0ZXIgfCBodG1sICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJGaWVsZFR5cGVGaWx0ZXIiIHZhbHVlPSJbJSBEYXRhLkZpZWxkVHlwZUZpbHRlciB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik5hbWVzcGFjZUZpbHRlciIgdmFsdWU9IlslIERhdGEuTmFtZXNwYWNlRmlsdGVyIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iSUQiIHZhbHVlPSJbJSBEYXRhLklEIHwgaHRtbCAlXSIgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQ29udGludWVBZnRlclNhdmUiIGlkPSJDb250aW51ZUFmdGVyU2F2ZSIgdmFsdWU9IiIvPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZSgiR2VuZXJhbCIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkxheW91dEdyaWQgQ29sdW1uc1dpdGhTcGFjaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU2l6ZTFvZjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9Ik5hbWUiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiTmFtZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJOYW1lIiBjbGFzcz0iVzUwcGMgWyUgRGF0YS5OYW1lU2VydmVyRXJyb3IgfCBodG1sICVdIFslIERhdGEuU2hvd1dhcm5pbmcgfCBodG1sICVdICBWYWxpZGF0ZV9BbHBoYW51bWVyaWMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5QbGFpbkZpZWxkTmFtZSB8IGh0bWwgJV0iIG5hbWU9Ik5hbWUiIFslIERhdGEuUmVhZG9ubHlJbnRlcm5hbEZpZWxkIHwgaHRtbCAlXT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iTmFtZUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLCBhbmQgdGhlIHZhbHVlIHNob3VsZCBiZSBhbHBoYWJldGljIGFuZCBudW1lcmljIGNoYXJhY3RlcnMgb25seS4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik5hbWVTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZShEYXRhLk5hbWVTZXJ2ZXJFcnJvck1lc3NhZ2UpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiTXVzdCBiZSB1bmlxdWUgYW5kIG9ubHkgYWNjZXB0IGFscGhhYmV0aWMgYW5kIG51bWVyaWMgY2hhcmFjdGVycy4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJXYXJuaW5nIEhpZGRlbiI+WyUgVHJhbnNsYXRlKCJDaGFuZ2luZyB0aGlzIHZhbHVlIHdpbGwgcmVxdWlyZSBtYW51YWwgY2hhbmdlcyBpbiB0aGUgc3lzdGVtLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkxhYmVsIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIkxhYmVsIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkxhYmVsIiBjbGFzcz0iVzUwcGMgWyUgRGF0YS5MYWJlbFNlcnZlckVycm9yIHwgaHRtbCAlXSBWYWxpZGF0ZV9SZXF1aXJlZCIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLkxhYmVsIHwgaHRtbCAlXSIgbmFtZT0iTGFiZWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iTGFiZWxFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkxhYmVsU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoRGF0YS5MYWJlbFNlcnZlckVycm9yTWVzc2FnZSkgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJUaGlzIGlzIHRoZSBuYW1lIHRvIGJlIHNob3duIG9uIHRoZSBzY3JlZW5zIHdoZXJlIHRoZSBmaWVsZCBpcyBhY3RpdmUuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iRmllbGRPcmRlciI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJGaWVsZCBvcmRlciIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5EeW5hbWljRmllbGRPcmRlclN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRPcmRlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIG51bWVyaWMuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGaWVsZE9yZGVyU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoRGF0YS5GaWVsZE9yZGVyU2VydmVyRXJyb3JNZXNzYWdlKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIlRoaXMgaXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoaXMgZmllbGQgd2lsbCBiZSBzaG93biBvbiB0aGUgc2NyZWVucyB3aGVyZSBpcyBhY3RpdmUuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KClslIFJlbmRlckJsb2NrU3RhcnQoIkR5bmFtaWNGaWVsZE5hbWVzcGFjZSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTmFtZXNwYWNlIj5bJSBUcmFuc2xhdGUoIk5hbWVzcGFjZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5OYW1lc3BhY2VTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIlRoaXMgaXMgdGhlIG5hbWVzcGFjZSBpbiB3aGljaCB0aGlzIGZpZWxkIHdpbGwgYmUgdXNlZCBhcyBwcmVmaXggd2l0aCB0aGUgbmFtZS4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiRHluYW1pY0ZpZWxkTmFtZXNwYWNlIikgJV0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iVG9vbHRpcFZhbHVlIj5bJSBUcmFuc2xhdGUoIlRvb2x0aXAgbWVzc2FnZToiKSB8IGh0bWwgJV08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJUb29sdGlwVmFsdWUiIGNsYXNzPSJXNzVwYyIgcm93cz0iMyIgY29scz0iODAiIG5hbWU9IlRvb2x0aXAiPlslIERhdGEuVG9vbHRpcCB8IGh0bWwgJV08L3RleHRhcmVhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJUaGlzIGlzIHRoZSB0b29sdGlwIG1lc3NhZ2Ugc2hvd24gaW5zaWRlIHRoZSBjdXN0b21lciBpbnRlcmZhY2UuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTaXplMW9mMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iVmFsaWRJRCI+WyUgVHJhbnNsYXRlKCJWYWxpZGl0eSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5WYWxpZGl0eVN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkZpZWxkVHlwZU5hbWUiPlslIFRyYW5zbGF0ZSgiRmllbGQgdHlwZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJGaWVsZFR5cGVOYW1lIiByZWFkb25seSBjbGFzcz0iVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgVHJhbnNsYXRlKERhdGEuRmllbGRUeXBlTmFtZSkgfCBodG1sICVdIiBuYW1lPSJGaWVsZFR5cGVOYW1lIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iT2JqZWN0VHlwZU5hbWUiPlslIFRyYW5zbGF0ZSgiT2JqZWN0IHR5cGUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iT2JqZWN0VHlwZU5hbWUiIHJlYWRvbmx5IGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBUcmFuc2xhdGUoRGF0YS5PYmplY3RUeXBlTmFtZSkgfCBodG1sICVdIiBuYW1lPSJPYmplY3RUeXBlTmFtZSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJJbnRlcm5hbEZpZWxkIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTcGFjaW5nVG9wIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJJbnRlcm5hbEZpZWxkIj5bJSBUcmFuc2xhdGUoIkludGVybmFsIGZpZWxkIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkludGVybmFsRmllbGQiIHJlYWRvbmx5IGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiB2YWx1ZT0iWyUgRGF0YS5JbnRlcm5hbEZpZWxkIHwgaHRtbCAlXSIgbmFtZT0iSW50ZXJuYWxGaWVsZCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcHJvdGVjdGVkIGFuZCBjYW4ndCBiZSBkZWxldGVkLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkludGVybmFsRmllbGQiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiRHluYW1pY0ZpZWxkSW5TeXNDb25maWciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iT2xkTmFtZSIgaWQ9Ik9sZE5hbWUiIHZhbHVlPSJbJSBEYXRhLk9sZE5hbWUgfCBodG1sICVdIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJVcGRhdGVFbnRpdHkiIGlkPSJVcGRhdGVFbnRpdHkiIHZhbHVlPSIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkVudGl0eUluU2V0dGluZyIgY2xhc3M9IkhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVGV4dERpYWxvZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5bJSBUcmFuc2xhdGUoIlRoaXMgZHluYW1pYyBmaWVsZCBpcyB1c2VkIGluIHRoZSBmb2xsb3dpbmcgY29uZmlnIHNldHRpbmdzOiIpIHwgaHRtbCAlXTwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KWyUgUmVuZGVyQmxvY2tTdGFydCgiRHluYW1pY0ZpZWxkSW5TeXNDb25maWdSb3ciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJJblN5c0NvbmZpZ1NldHRpbmciPlslIERhdGEuU2V0dGluZ05hbWUgJV08L2xpPgpbJSBSZW5kZXJCbG9ja0VuZCgiRHluYW1pY0ZpZWxkSW5TeXNDb25maWdSb3ciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJEeW5hbWljRmllbGRJblN5c0NvbmZpZyIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIkR5bmFtaWNGaWVsZEluU3lzQ29uZmlnRGlydHkiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3lzQ29uZmlnRGlydHkiIGlkPSJTeXNDb25maWdEaXJ0eSIgdmFsdWU9IjEiLz4KWyUgUmVuZGVyQmxvY2tFbmQoIkR5bmFtaWNGaWVsZEluU3lzQ29uZmlnRGlydHkiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZShEYXRhLkZpZWxkVHlwZU5hbWUpIHwgaHRtbCAlXSBbJSBUcmFuc2xhdGUoIkZpZWxkIFNldHRpbmdzIikgfCBodG1sICVdPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlslIFRyYW5zbGF0ZSgiUG9zc2libGUgdmFsdWVzIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFZhbHVlSW5zZXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlZhbHVlQ291bnRlciIgdmFsdWU9IlslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgaWQ9IlZhbHVlQ291bnRlciIgY2xhc3M9IlZhbHVlQ291bnRlciIgLz4KWyUgUmVuZGVyQmxvY2tTdGFydCgiVmFsdWVSb3ciKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmFsdWVSb3cgQ2FyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iRmllbGROYW1lX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIk5hbWUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iRmllbGROYW1lX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgaWQ9IkZpZWxkTmFtZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBXMTBwYyBbJSBEYXRhLkZpZWxkTmFtZUVycm9yIHwgaHRtbCAlXSIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxMDAiIHZhbHVlPSJbJSBEYXRhLkZpZWxkTmFtZSB8IGh0bWwgJV0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGaWVsZE5hbWVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkTmFtZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV1TZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkTGFiZWxfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiTGFiZWwiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iRmllbGRMYWJlbF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGlkPSJGaWVsZExhYmVsX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IlZhbGlkYXRlX1JlcXVpcmVkIFcxMHBjIFslIERhdGEuRmllbGRMYWJlbEVycm9yIHwgaHRtbCAlXSIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxMDAiIHZhbHVlPSJbJSBEYXRhLkZpZWxkTGFiZWwgfCBodG1sICVdIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRMYWJlbF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV1FcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRMYWJlbF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV1TZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkRGF0YXR5cGVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiRGF0YXR5cGUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkRhdGF0eXBlICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGREYXRhdHlwZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV1FcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGREYXRhdHlwZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV1TZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkZpZWxkRmlsdGVyX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+WyUgVHJhbnNsYXRlKCJGaWx0ZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlNlbGVjdEZpbHRlciAlXQoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU2VhcmNoZmllbGRfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBjbGFzcz0iQ2hlY2tib3hMYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJTZWFyY2hmaWVsZF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGlkPSJTZWFyY2hmaWVsZF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIHR5cGU9ImNoZWNrYm94IiBbJSBEYXRhLlNlYXJjaGZpZWxkIHwgaHRtbCAlXS8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiU2VhcmNoZmllbGQiKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJMaXN0ZmllbGRfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBjbGFzcz0iQ2hlY2tib3hMYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJMaXN0ZmllbGRfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iTGlzdGZpZWxkX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgdHlwZT0iY2hlY2tib3giIFslIERhdGEuTGlzdGZpZWxkIHwgaHRtbCAlXS8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiTGlzdGZpZWxkIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuU2VsZWN0RGlzcGxheWZpZWxkICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iRGlzcGxheWZpZWxkX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+WyUgVHJhbnNsYXRlKCJIZWFkZXIgZ3JvdXAiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlNlbGVjdERpc3BsYXlmaWVsZCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIEVORCAlXQoKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBpZD0iUmVtb3ZlVmFsdWVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBjbGFzcz0iUmVtb3ZlQnV0dG9uIFZhbHVlUmVtb3ZlIiB0aXRsZT0iWyUgVHJhbnNsYXRlKCJSZW1vdmUgdmFsdWUiKSB8IGh0bWwgJV0iPjxpIGNsYXNzPSJmYSBmYS1taW51cy1zcXVhcmUtbyI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTcGFjaW5nVG9wTWluaSIgPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJWYWx1ZVJvdyIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlZhbHVlVGVtcGxhdGUiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iVmFsdWVUZW1wbGF0ZSBIaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkTmFtZVslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIk5hbWUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iRmllbGROYW1lWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iRmllbGROYW1lIiBjbGFzcz0iVzEwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMTAwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGROYW1lRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkTmFtZVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iRmllbGRMYWJlbFslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIkxhYmVsIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9IkZpZWxkTGFiZWxbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGlkPSJGaWVsZExhYmVsIiBjbGFzcz0iVzEwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMTAwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRMYWJlbEVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGaWVsZExhYmVsU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJGaWVsZERhdGF0eXBlWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiRGF0YXR5cGUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLkRhdGF0eXBlICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGREYXRhdHlwZUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGaWVsZERhdGF0eXBlU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJGaWVsZEZpbHRlclslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+WyUgVHJhbnNsYXRlKCJGaWx0ZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlNlbGVjdEZpbHRlciAlXQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJTZWFyY2hmaWVsZFslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IkNoZWNrYm94TGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iU2VhcmNoZmllbGRbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGlkPSJTZWFyY2hmaWVsZCIgdHlwZT0iY2hlY2tib3giIFslIERhdGEuU2VhcmNoZmllbGQgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJTZWFyY2hmaWVsZCIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ikxpc3RmaWVsZFslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IkNoZWNrYm94TGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iTGlzdGZpZWxkWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iTGlzdGZpZWxkIiB0eXBlPSJjaGVja2JveCIgWyUgRGF0YS5MaXN0ZmllbGQgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJMaXN0ZmllbGQiKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgoKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgSUYgRGF0YS5TZWxlY3REaXNwbGF5ZmllbGQgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJEaXNwbGF5ZmllbGRbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZSgiSGVhZGVyIGdyb3VwIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZWxlY3REaXNwbGF5ZmllbGQgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBFTkQgJV0KCiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9IlJlbW92ZVZhbHVlX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IlJlbW92ZUJ1dHRvbiBWYWx1ZVJlbW92ZSIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiUmVtb3ZlIHZhbHVlIikgfCBodG1sICVdIj48aSBjbGFzcz0iZmEgZmEtbWludXMtc3F1YXJlLW8iPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcE1pbmkiID48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVmFsdWVUZW1wbGF0ZSIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJEZWxldGVkVmFsdWUiIHZhbHVlPSJbJSBEYXRhLkRlbGV0ZWRTdHJpbmcgfCBodG1sICVdIiBpZD0iRGVsZXRlZFZhbHVlIiBjbGFzcz0iRGVsZXRlZFZhbHVlIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQWRkVmFsdWUiPlslIFRyYW5zbGF0ZSgiQWRkIHZhbHVlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGlkPSJBZGRWYWx1ZSIgY2xhc3M9IkFkZEJ1dHRvbiIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiQWRkIHZhbHVlIikgfCBodG1sICVdIj4gPGkgY2xhc3M9ImZhIGZhLXBsdXMtc3F1YXJlLW8iPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiTGluayIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkxpbmsiPlslIFRyYW5zbGF0ZSgiU2hvdyBsaW5rIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iTGluayIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjUwMCIgdmFsdWU9IlslIERhdGEuTGluayB8IGh0bWwgJV0iIG5hbWU9IkxpbmsiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIkhlcmUgeW91IGNhbiBzcGVjaWZ5IGFuIG9wdGlvbmFsIEhUVFAgbGluayBmb3IgdGhlIGZpZWxkIHZhbHVlIGluIE92ZXJ2aWV3cyBhbmQgWm9vbSBzY3JlZW5zLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJFeGFtcGxlIikgfCBodG1sICVdOiBodHRwOi8vc29tZS5leGFtcGxlLmNvbS9oYW5kbGU/cXVlcnk9PHNwYW4+Wzwvc3Bhbj4lIERhdGEuRmllbGQxIHwgdXJpICU8c3Bhbj5dPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJZb3UgY2FuIHJlZmVyZW5jZSB0aGUgZmllbGQgd2l0aCBpdHMgb3duIGZpZWxkIG5hbWUuIFlvdSBjYW4gYWxzbyByZWZlciB0byBvdGhlciBmaWVsZHMsIGUuZy4gd2l0aCAnRHluYW1pY0ZpZWxkX090aGVyRmllbGROYW1lJy4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiSWYgYSBkeW5hbWljIGZpZWxkIHdpdGggYSBuYW1lc3BhY2UgaXMgdG8gYmUgcmVmZXJlbmNlZCwgdGhlIGZpZWxkIG5hbWUgbmVlZHMgdG8gYmUgc3RvcmVkIGluIGEgdmFyaWFibGUgYW5kIGNhbGxlZC4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiRXhhbXBsZSIpIHwgaHRtbCAlXTogaHR0cDovL3NvbWUuZXhhbXBsZS5jb20vaGFuZGxlP3F1ZXJ5PTxzcGFuPls8L3NwYW4+JSBGaWVsZE5hbWUgPSAnTmFtZXNwYWNlLUZpZWxkMSc7IERhdGEuJEZpZWxkTmFtZSAlPHNwYW4+XTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTGlua1ByZXZpZXciPlslIFRyYW5zbGF0ZSgiTGluayBmb3IgcHJldmlldyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkxpbmtQcmV2aWV3IiBjbGFzcz0iVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iNTAwIiB2YWx1ZT0iWyUgRGF0YS5MaW5rUHJldmlldyB8IGh0bWwgJV0iIG5hbWU9IkxpbmtQcmV2aWV3Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJJZiBmaWxsZWQgaW4sIHRoaXMgVVJMIHdpbGwgYmUgdXNlZCBmb3IgYSBwcmV2aWV3IHdoaWNoIGlzIHNob3duIHdoZW4gdGhpcyBsaW5rIGlzIGhvdmVyZWQgaW4gdGlja2V0IHpvb20uIFBsZWFzZSBub3RlIHRoYXQgZm9yIHRoaXMgdG8gd29yaywgdGhlIHJlZ3VsYXIgVVJMIGZpZWxkIGFib3ZlIG5lZWRzIHRvIGJlIGZpbGxlZCBpbiwgdG9vLiIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiTGluayIpICVdCgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJUeXBlIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiVHlwZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLlNlbGVjdERCVHlwZSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVHlwZUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlR5cGVTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9IlNJRExhYmVsIiBmb3I9IlNJRCI+WyUgVHJhbnNsYXRlKCJTSUQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iU0lERmllbGQiIGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlNJRCIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuU0lEIHwgaHRtbCAlXSIgbmFtZT0iU0lEIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9IkRyaXZlckxhYmVsIiBmb3I9IlNJRCI+WyUgVHJhbnNsYXRlKCJEcml2ZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRHJpdmVyRmllbGQiIGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkRyaXZlciIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuRHJpdmVyIHwgaHRtbCAlXSIgbmFtZT0iRHJpdmVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJTZXJ2ZXIiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJTZXJ2ZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJTZXJ2ZXIiIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLlNlcnZlciB8IGh0bWwgJV0iIG5hbWU9IlNlcnZlciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iU2VydmVyU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iUG9ydCI+WyUgVHJhbnNsYXRlKCJQb3J0IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iUG9ydCIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuUG9ydCB8IGh0bWwgJV0iIG5hbWU9IlBvcnQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkRCTmFtZSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIkRhdGFiYXNlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iREJOYW1lIiBjbGFzcz0iVmFsaWRhdGVfUmVxdWlyZWQgVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5EQk5hbWUgfCBodG1sICVdIiBuYW1lPSJEQk5hbWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRCTmFtZUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRCTmFtZVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkRCVGFibGUiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJUYWJsZSAvIFZpZXciKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJEQlRhYmxlIiBjbGFzcz0iVmFsaWRhdGVfUmVxdWlyZWQgVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5EQlRhYmxlIHwgaHRtbCAlXSIgbmFtZT0iREJUYWJsZSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iREJUYWJsZUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRCVGFibGVTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJVc2VyIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiVXNlciIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlVzZXIiIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLlVzZXIgfCBodG1sICVdIiBuYW1lPSJVc2VyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJVc2VyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVXNlclNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IlBhc3N3b3JkIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiUGFzc3dvcmQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJQYXNzd29yZCIgY2xhc3M9IlZhbGlkYXRlX1JlcXVpcmVkIFc1MHBjIiB0eXBlPSJwYXNzd29yZCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLlBhc3N3b3JkIHwgaHRtbCAlXSIgbmFtZT0iUGFzc3dvcmQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlBhc3N3b3JkRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iUGFzc3dvcmRTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJJZGVudGlmaWVyIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiSWRlbnRpZmllciIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLklkZW50aWZpZXIgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IklkZW50aWZpZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJJZGVudGlmaWVyU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiTXVzdCBiZSB1bmlxdWUgY29sdW1uIGZyb20gdGhlIHRhYmxlIGVudGVyZWQgaW4gVGFibGUvVmlldy4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik11bHRpc2VsZWN0Ij5bJSBUcmFuc2xhdGUoIk11bHRpc2VsZWN0IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iTXVsdGlzZWxlY3QiIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJNdWx0aXNlbGVjdCIgWyUgRGF0YS5NdWx0aXNlbGVjdCB8IGh0bWwgJV0vPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQ2FjaGVUVEwiPlslIFRyYW5zbGF0ZSgiQ2FjaGVUVEwiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJDYWNoZVRUTCIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuQ2FjaGVUVEwgfCBodG1sICVdIiBuYW1lPSJDYWNoZVRUTCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU2VhcmNocHJlZml4Ij5bJSBUcmFuc2xhdGUoIlNlYXJjaHByZWZpeCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlNlYXJjaHByZWZpeCIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuU2VhcmNocHJlZml4IHwgaHRtbCAlXSIgbmFtZT0iU2VhcmNocHJlZml4Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJTZWFyY2hzdWZmaXgiPlslIFRyYW5zbGF0ZSgiU2VhcmNoc3VmZml4IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iU2VhcmNoc3VmZml4IiBjbGFzcz0iVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5TZWFyY2hzdWZmaXggfCBodG1sICVdIiBuYW1lPSJTZWFyY2hzdWZmaXgiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlJlc3VsdExpbWl0Ij5bJSBUcmFuc2xhdGUoIlJlc3VsdCBMaW1pdCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlJlc3VsdExpbWl0IiBjbGFzcz0iVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5SZXN1bHRMaW1pdCB8IGh0bWwgJV0iIG5hbWU9IlJlc3VsdExpbWl0Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJDYXNlU2Vuc2l0aXZlIj5bJSBUcmFuc2xhdGUoIkNhc2UgU2Vuc2l0aXZlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iQ2FzZVNlbnNpdGl2ZSIgdHlwZT0iY2hlY2tib3giIG5hbWU9IkNhc2VTZW5zaXRpdmUiIFslIERhdGEuQ2FzZVNlbnNpdGl2ZSB8IGh0bWwgJV0vPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJNdWx0aVZhbHVlIj5bJSBUcmFuc2xhdGUoIk11bHRpcGxlIFZhbHVlcyIpIHwgaHRtbCAlXTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuTXVsdGlWYWx1ZVN0cmcgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIkFjdGl2YXRlIHRoaXMgb3B0aW9uIHRvIGFsbG93IG11bHRpcGxlIHZhbHVlcyBmb3IgdGhpcyBmaWVsZC4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIFNwYWNpbmdUb3AiPgogICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuTW9kZSA9PSAnQ2hhbmdlJyAlXQogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJDYWxsRm9yQWN0aW9uIFByaW1hcnkiIGlkPSJTdWJtaXRBbmRDb250aW51ZSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJTYXZlIikgfCBodG1sICVdIj48c3Bhbj5bJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgib3IiKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBQcmltYXJ5IiBpZD0iU3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV0iPjxzcGFuPlslIFRyYW5zbGF0ZSgiU2F2ZSBhbmQgZmluaXNoIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIFslIEVMU0UgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBQcmltYXJ5IiBpZD0iU3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJbJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV0iPjxzcGFuPlslIFRyYW5zbGF0ZSgiU2F2ZSIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICBbJSBFTkQgJV0KICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIm9yIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iWyUgRW52KCJCYXNlbGluayIpICVdQWN0aW9uPUFkbWluRHluYW1pY0ZpZWxkWyUgRGF0YS5GaWx0ZXJTdHJnICVdIj5bJSBUcmFuc2xhdGUoIkNhbmNlbCIpIHwgaHRtbCAlXTwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgIDwvZm9ybT4KICAgIDwvZGl2Pgo8L2Rpdj4K</File>
        <File Location="Custom/Kernel/Output/HTML/TicketZoom/TicketInformation.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSAwMWFkYTg0MDc5OGYyNGVjNzMxYzBjYTc0YmQ0N2ZmNzZjNDgwOTBmIC0gS2VybmVsL091dHB1dC9IVE1ML1RpY2tldFpvb20vVGlja2V0SW5mb3JtYXRpb24ucG0KIyAtLQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiMgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAojIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCiMgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6VGlja2V0Wm9vbTo6VGlja2V0SW5mb3JtYXRpb247Cgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCnVzZSBwYXJlbnQgJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpCYXNlJzsKCiMgY29yZSBtb2R1bGVzCgojIENQQU4gbW9kdWxlcwoKIyBPVE9CTyBtb2R1bGVzCnVzZSBLZXJuZWw6Okxhbmd1YWdlICAgICAgICAgICAgICBxdyhUcmFuc2xhdGFibGUpOwp1c2UgS2VybmVsOjpTeXN0ZW06OlZhcmlhYmxlQ2hlY2sgcXcoSXNBcnJheVJlZldpdGhEYXRhIElzSGFzaFJlZldpdGhEYXRhKTsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CiAgICBteSAkVGlja2V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpOwogICAgbXkgJFVzZXJPYmplY3QgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpVc2VyJyk7CgogICAgbXkgJVRpY2tldCAgICA9ICRQYXJhbXtUaWNrZXR9LT4lKjsKICAgIG15ICVBY2xBY3Rpb24gPSAkUGFyYW17QWNsQWN0aW9ufS0+JSo7CgogICAgIyBTaG93IGNyZWF0ZWQgYnkgbmFtZSwgaWYgZGlmZmVyZW50IHRoZW4gcm9vdCB1c2VyIChJRD0xKS4KICAgIGlmICggJFRpY2tldHtDcmVhdGVCeX0gPiAxICkgewogICAgICAgICRUaWNrZXR7Q3JlYXRlZEJ5VXNlcn0gPSAkVXNlck9iamVjdC0+VXNlck5hbWUoIFVzZXJJRCA9PiAkVGlja2V0e0NyZWF0ZUJ5fSApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdDcmVhdGVkQnknLAogICAgICAgICAgICBEYXRhID0+IHslVGlja2V0fSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJFRpY2tldHtBcmNoaXZlRmxhZ30gZXEgJ3knICkgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdBcmNoaXZlRmxhZycsCiAgICAgICAgICAgIERhdGEgPT4geyAlVGlja2V0LCAlQWNsQWN0aW9uIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHRpY2tldCB0eXBlCiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnVGlja2V0OjpUeXBlJykgKSB7CgogICAgICAgIG15ICVUeXBlID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlR5cGUnKS0+VHlwZUdldCgKICAgICAgICAgICAgSUQgPT4gJFRpY2tldHtUeXBlSUR9LAogICAgICAgICk7CgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdUeXBlJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBWYWxpZCA9PiAkVHlwZXtWYWxpZElEfSwKICAgICAgICAgICAgICAgICVUaWNrZXQsCiAgICAgICAgICAgICAgICAlQWNsQWN0aW9uCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHRpY2tldCBzZXJ2aWNlCiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnVGlja2V0OjpTZXJ2aWNlJykgJiYgJFRpY2tldHtTZXJ2aWNlfSApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU2VydmljZScsCiAgICAgICAgICAgIERhdGEgPT4geyAlVGlja2V0LCAlQWNsQWN0aW9uIH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICRUaWNrZXR7U0xBfSApIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTTEEnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7ICVUaWNrZXQsICVBY2xBY3Rpb24gfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBzaG93IGZpcnN0IHJlc3BvbnNlIHRpbWUgaWYgbmVlZGVkCiAgICBpZiAoIGRlZmluZWQgJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZX0gKSB7CiAgICAgICAgJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZUh1bWFufSA9ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVyQWdlKAogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgPT4gJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZX0sCiAgICAgICAgICAgIFRpbWVTaG93QWx3YXlzTG9uZyA9PiAxLAogICAgICAgICAgICBTcGFjZSAgICAgICAgICAgICAgPT4gJyAnLAogICAgICAgICk7CiAgICAgICAgJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lfSA9ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVyQWdlKAogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgPT4gJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lfSwKICAgICAgICAgICAgVGltZVNob3dBbHdheXNMb25nID0+IDEsCiAgICAgICAgICAgIFNwYWNlICAgICAgICAgICAgICA9PiAnICcsCiAgICAgICAgKTsKICAgICAgICBpZiAoIDYwICogNjAgKiAxID4gJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZX0gKSB7CiAgICAgICAgICAgICRUaWNrZXR7Rmlyc3RSZXNwb25zZVRpbWVDbGFzc30gPSAnV2FybmluZyc7CiAgICAgICAgfQogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdGaXJzdFJlc3BvbnNlVGltZScsCiAgICAgICAgICAgIERhdGEgPT4geyAlVGlja2V0LCAlQWNsQWN0aW9uIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNob3cgdXBkYXRlIHRpbWUgaWYgbmVlZGVkCiAgICBpZiAoIGRlZmluZWQgJFRpY2tldHtVcGRhdGVUaW1lfSApIHsKICAgICAgICAkVGlja2V0e1VwZGF0ZVRpbWVIdW1hbn0gPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckFnZSgKICAgICAgICAgICAgQWdlICAgICAgICAgICAgICAgID0+ICRUaWNrZXR7VXBkYXRlVGltZX0sCiAgICAgICAgICAgIFRpbWVTaG93QWx3YXlzTG9uZyA9PiAxLAogICAgICAgICAgICBTcGFjZSAgICAgICAgICAgICAgPT4gJyAnLAogICAgICAgICk7CiAgICAgICAgJFRpY2tldHtVcGRhdGVUaW1lV29ya2luZ1RpbWV9ID0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJBZ2UoCiAgICAgICAgICAgIEFnZSAgICAgICAgICAgICAgICA9PiAkVGlja2V0e1VwZGF0ZVRpbWVXb3JraW5nVGltZX0sCiAgICAgICAgICAgIFRpbWVTaG93QWx3YXlzTG9uZyA9PiAxLAogICAgICAgICAgICBTcGFjZSAgICAgICAgICAgICAgPT4gJyAnLAogICAgICAgICk7CiAgICAgICAgaWYgKCA2MCAqIDYwICogMSA+ICRUaWNrZXR7VXBkYXRlVGltZX0gKSB7CiAgICAgICAgICAgICRUaWNrZXR7VXBkYXRlVGltZUNsYXNzfSA9ICdXYXJuaW5nJzsKICAgICAgICB9CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1VwZGF0ZVRpbWUnLAogICAgICAgICAgICBEYXRhID0+IHsgJVRpY2tldCwgJUFjbEFjdGlvbiB9LAogICAgICAgICk7CiAgICB9CgogICAgIyBzaG93IHNvbHV0aW9uIHRpbWUgaWYgbmVlZGVkCiAgICBpZiAoIGRlZmluZWQgJFRpY2tldHtTb2x1dGlvblRpbWV9ICkgewogICAgICAgICRUaWNrZXR7U29sdXRpb25UaW1lSHVtYW59ID0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJBZ2UoCiAgICAgICAgICAgIEFnZSAgICAgICAgICAgICAgICA9PiAkVGlja2V0e1NvbHV0aW9uVGltZX0sCiAgICAgICAgICAgIFRpbWVTaG93QWx3YXlzTG9uZyA9PiAxLAogICAgICAgICAgICBTcGFjZSAgICAgICAgICAgICAgPT4gJyAnLAogICAgICAgICk7CiAgICAgICAgJFRpY2tldHtTb2x1dGlvblRpbWVXb3JraW5nVGltZX0gPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckFnZSgKICAgICAgICAgICAgQWdlICAgICAgICAgICAgICAgID0+ICRUaWNrZXR7U29sdXRpb25UaW1lV29ya2luZ1RpbWV9LAogICAgICAgICAgICBUaW1lU2hvd0Fsd2F5c0xvbmcgPT4gMSwKICAgICAgICAgICAgU3BhY2UgICAgICAgICAgICAgID0+ICcgJywKICAgICAgICApOwogICAgICAgIGlmICggNjAgKiA2MCAqIDEgPiAkVGlja2V0e1NvbHV0aW9uVGltZX0gKSB7CiAgICAgICAgICAgICRUaWNrZXR7U29sdXRpb25UaW1lQ2xhc3N9ID0gJ1dhcm5pbmcnOwogICAgICAgIH0KICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU29sdXRpb25UaW1lJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVUaWNrZXQsICVBY2xBY3Rpb24gfSwKICAgICAgICApOwogICAgfQoKICAgICMgc2hvdyBudW1iZXIgb2YgdGlja2V0cyB3aXRoIHRoZSBzYW1lIGN1c3RvbWVyIGlkIGlmIGZlYXR1cmUgaXMgYWN0aXZlOgogICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6Olpvb21DdXN0b21lclRpY2tldHMnKSApIHsKICAgICAgICBpZiAoICRUaWNrZXR7Q3VzdG9tZXJJRH0gKSB7CiAgICAgICAgICAgICRUaWNrZXR7Q3VzdG9tZXJJRFRpY2tldHN9ID0gJFRpY2tldE9iamVjdC0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICAgICAgQ3VzdG9tZXJJRCA9PiAkVGlja2V0e0N1c3RvbWVySUR9LAogICAgICAgICAgICAgICAgUmVzdWx0ICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiA9PiAncm8nLAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnQ3VzdG9tZXJJRFRpY2tldHMnLAogICAgICAgICAgICAgICAgRGF0YSA9PiBcJVRpY2tldCwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBzaG93IHRvdGFsIGFjY291bnRlZCB0aW1lIGlmIGZlYXR1cmUgaXMgYWN0aXZlOgogICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6OkFjY291bnRUaW1lJykgKSB7CiAgICAgICAgJFRpY2tldHtUaWNrZXRUaW1lVW5pdHN9ID0gJFRpY2tldE9iamVjdC0+VGlja2V0QWNjb3VudGVkVGltZUdldCglVGlja2V0KTsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVG90YWxBY2NvdW50ZWRUaW1lJywKICAgICAgICAgICAgRGF0YSA9PiBcJVRpY2tldCwKICAgICAgICApOwogICAgfQoKICAgICMgc2hvdyBwZW5kaW5nIHVudGlsLCBpZiBzZXQ6CiAgICBpZiAoICRUaWNrZXR7VW50aWxUaW1lfSApIHsKICAgICAgICBpZiAoICRUaWNrZXR7VW50aWxUaW1lfSA8IC0xICkgewogICAgICAgICAgICAkVGlja2V0e1BlbmRpbmdVbnRpbENsYXNzfSA9ICdXYXJuaW5nJzsKICAgICAgICB9CgogICAgICAgIG15ICRDdXJTeXNEVE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5DcmVhdGUoJ0tlcm5lbDo6U3lzdGVtOjpEYXRlVGltZScpOwogICAgICAgICRUaWNrZXR7VW50aWxUaW1lSHVtYW59ID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgKICAgICAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpEYXRlVGltZScsCiAgICAgICAgICAgIE9iamVjdFBhcmFtcyA9PiB7CiAgICAgICAgICAgICAgICBFcG9jaCA9PiAoICRUaWNrZXR7VW50aWxUaW1lfSArICRDdXJTeXNEVE9iamVjdC0+VG9FcG9jaCgpICksCiAgICAgICAgICAgIH0sCiAgICAgICAgKS0+VG9TdHJpbmcoKTsKCiAgICAgICAgJFRpY2tldHtQZW5kaW5nVW50aWx9IC49ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVyQWdlKAogICAgICAgICAgICBBZ2UgICA9PiAkVGlja2V0e1VudGlsVGltZX0sCiAgICAgICAgICAgIFNwYWNlID0+ICcgJwogICAgICAgICk7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1BlbmRpbmdVbnRpbCcsCiAgICAgICAgICAgIERhdGEgPT4gXCVUaWNrZXQsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIENoZWNrIGlmIGFnZW50IGhhcyBwZXJtaXNzaW9uIHRvIHN0YXJ0IGNoYXRzIHdpdGggYWdlbnRzLgogICAgbXkgJEVuYWJsZUNoYXQgICAgICAgICAgICAgICAgICAgICAgICA9IDE7CiAgICBteSAkQ2hhdFN0YXJ0aW5nQWdlbnRzR3JvdXAgICAgICAgICAgID0gJENvbmZpZ09iamVjdC0+R2V0KCdDaGF0RW5naW5lOjpQZXJtaXNzaW9uR3JvdXA6OkNoYXRTdGFydGluZ0FnZW50cycpICB8fCAndXNlcnMnOwogICAgbXkgJENoYXRSZWNlaXZpbmdBZ2VudHNHcm91cCAgICAgICAgICA9ICRDb25maWdPYmplY3QtPkdldCgnQ2hhdEVuZ2luZTo6UGVybWlzc2lvbkdyb3VwOjpDaGF0UmVjZWl2aW5nQWdlbnRzJykgfHwgJ3VzZXJzJzsKICAgIG15ICRDaGF0U3RhcnRpbmdBZ2VudHNHcm91cFBlcm1pc3Npb24gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6R3JvdXAnKS0+UGVybWlzc2lvbkNoZWNrKAogICAgICAgIFVzZXJJRCAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgR3JvdXBOYW1lID0+ICRDaGF0U3RhcnRpbmdBZ2VudHNHcm91cCwKICAgICAgICBUeXBlICAgICAgPT4gJ3J3JywKICAgICk7CgogICAgaWYgKCAhJENvbmZpZ09iamVjdC0+R2V0KCdDaGF0RW5naW5lOjpBY3RpdmUnKSB8fCAhJENoYXRTdGFydGluZ0FnZW50c0dyb3VwUGVybWlzc2lvbiApIHsKICAgICAgICAkRW5hYmxlQ2hhdCA9IDA7CiAgICB9CiAgICBpZiAoCiAgICAgICAgJEVuYWJsZUNoYXQKICAgICAgICAmJiAhJENvbmZpZ09iamVjdC0+R2V0KCdDaGF0RW5naW5lOjpDaGF0RGlyZWN0aW9uOjpBZ2VudFRvQWdlbnQnKQogICAgICAgICkKICAgIHsKICAgICAgICAkRW5hYmxlQ2hhdCA9IDA7CiAgICB9CgogICAgbXkgJU9ubGluZURhdGE7CiAgICBpZiAoJEVuYWJsZUNoYXQpIHsKICAgICAgICBteSAkVmlkZW9DaGF0RW5hYmxlZCAgICAgICAgICAgICAgID0gMDsKICAgICAgICBteSAkVmlkZW9DaGF0QWdlbnRzR3JvdXAgICAgICAgICAgID0gJENvbmZpZ09iamVjdC0+R2V0KCdDaGF0RW5naW5lOjpQZXJtaXNzaW9uR3JvdXA6OlZpZGVvQ2hhdEFnZW50cycpIHx8ICd1c2Vycyc7CiAgICAgICAgbXkgJFZpZGVvQ2hhdEFnZW50c0dyb3VwUGVybWlzc2lvbiA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcpLT5QZXJtaXNzaW9uQ2hlY2soCiAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgIEdyb3VwTmFtZSA9PiAkVmlkZW9DaGF0QWdlbnRzR3JvdXAsCiAgICAgICAgICAgIFR5cGUgICAgICA9PiAncncnLAogICAgICAgICk7CgogICAgICAgICMgRW5hYmxlIHRoZSB2aWRlbyBjaGF0IGZlYXR1cmUgaWYgc3lzdGVtIGlzIGVudGl0bGVkIGFuZCBhZ2VudCBpcyBhIG1lbWJlciBvZiBjb25maWd1cmVkIGdyb3VwLgogICAgICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdDaGF0RW5naW5lOjpBY3RpdmUnKSAmJiAkVmlkZW9DaGF0QWdlbnRzR3JvdXBQZXJtaXNzaW9uICkgewogICAgICAgICAgICBpZiAoICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpNYWluJyktPlJlcXVpcmUoICdLZXJuZWw6OlN5c3RlbTo6VmlkZW9DaGF0JywgU2lsZW50ID0+IDEgKSApIHsKICAgICAgICAgICAgICAgICRWaWRlb0NoYXRFbmFibGVkID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlZpZGVvQ2hhdCcpLT5Jc0VuYWJsZWQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRklFTEQ6CiAgICAgICAgZm9yIG15ICRGaWVsZCAocXcoT3duZXJJRCBSZXNwb25zaWJsZUlEKSkgewogICAgICAgICAgICBuZXh0IEZJRUxEIGlmICEkVGlja2V0eyRGaWVsZH07CiAgICAgICAgICAgIG5leHQgRklFTEQgaWYgJEZpZWxkIGVxICdSZXNwb25zaWJsZUlEJyAmJiAhJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6OlJlc3BvbnNpYmxlJyk7CgogICAgICAgICAgICBteSAkVXNlcklEID0gJFRpY2tldHskRmllbGR9OwoKICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e0VuYWJsZUNoYXR9ICAgICAgICAgPSAkRW5hYmxlQ2hhdDsKICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e0FnZW50RW5hYmxlQ2hhdH0gICAgPSAwOwogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57Q2hhdEFjY2Vzc30gICAgICAgICA9IDA7CiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntWaWRlb0NoYXRBdmFpbGFibGV9ID0gMDsKICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1ZpZGVvQ2hhdFN1cHBvcnR9ICAgPSAwOwogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VmlkZW9DaGF0RW5hYmxlZH0gICA9ICRWaWRlb0NoYXRFbmFibGVkOwoKICAgICAgICAgICAgIyBEZWZhdWx0IHN0YXR1cyBpcyBvZmZsaW5lLgogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VXNlclN0YXRlfSAgICAgICAgICAgID0gVHJhbnNsYXRhYmxlKCdPZmZsaW5lJyk7CiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntVc2VyU3RhdGVEZXNjcmlwdGlvbn0gPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ1VzZXIgaXMgY3VycmVudGx5IG9mZmxpbmUuJyk7CgogICAgICAgICAgICAjIFdlIGFsc28gbmVlZCB0byBjaGVjayBpZiB0aGUgcmVjZWl2aW5nIGFnZW50IGhhcyBjaGF0IHBlcm1pc3Npb25zLgogICAgICAgICAgICBteSAlVXNlckdyb3VwcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcpLT5QZXJtaXNzaW9uVXNlckdldCgKICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkVXNlcklELAogICAgICAgICAgICAgICAgVHlwZSAgID0+ICdydycsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBteSAlVXNlckdyb3Vwc1JldmVyc2UgPSByZXZlcnNlICVVc2VyR3JvdXBzOwogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57Q2hhdEFjY2Vzc30gPSAkVXNlckdyb3Vwc1JldmVyc2V7JENoYXRSZWNlaXZpbmdBZ2VudHNHcm91cH0gPyAxIDogMDsKCiAgICAgICAgICAgIG15ICVVc2VyID0gJFVzZXJPYmplY3QtPkdldFVzZXJEYXRhKAogICAgICAgICAgICAgICAgVXNlcklEID0+ICRVc2VySUQsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntWaWRlb0NoYXRTdXBwb3J0fSA9ICRVc2Vye1ZpZGVvQ2hhdEhhc1dlYlJUQ307CgogICAgICAgICAgICAjIENoZWNrIGFnZW50J3MgYXZhaWxhYmlsaXR5LgogICAgICAgICAgICBpZiAoICRPbmxpbmVEYXRheyRGaWVsZH0tPntDaGF0QWNjZXNzfSApIHsKICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntBZ2VudENoYXRBdmFpbGFiaWxpdHl9ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNoYXQnKS0+QWdlbnRBdmFpbGFiaWxpdHlHZXQoCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFVzZXJJRCwKICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCA9PiAwLAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBpZiAoICRPbmxpbmVEYXRheyRGaWVsZH0tPntBZ2VudENoYXRBdmFpbGFiaWxpdHl9ID09IDMgKSB7CiAgICAgICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1VzZXJTdGF0ZX0gICAgICAgICAgICA9IFRyYW5zbGF0YWJsZSgnQWN0aXZlJyk7CiAgICAgICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e0FnZW50RW5hYmxlQ2hhdH0gICAgICA9IDE7CiAgICAgICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1VzZXJTdGF0ZURlc2NyaXB0aW9ufSA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnVXNlciBpcyBjdXJyZW50bHkgYWN0aXZlLicpOwogICAgICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntWaWRlb0NoYXRBdmFpbGFibGV9ICAgPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzaWYgKCAkT25saW5lRGF0YXskRmllbGR9LT57QWdlbnRDaGF0QXZhaWxhYmlsaXR5fSA9PSAyICkgewogICAgICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntVc2VyU3RhdGV9ICAgICAgICAgICAgPSBUcmFuc2xhdGFibGUoJ0F3YXknKTsKICAgICAgICAgICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57QWdlbnRFbmFibGVDaGF0fSAgICAgID0gMTsKICAgICAgICAgICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VXNlclN0YXRlRGVzY3JpcHRpb259ID0gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdVc2VyIHdhcyBpbmFjdGl2ZSBmb3IgYSB3aGlsZS4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggJE9ubGluZURhdGF7JEZpZWxkfS0+e0FnZW50Q2hhdEF2YWlsYWJpbGl0eX0gPT0gMSApIHsKICAgICAgICAgICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VXNlclN0YXRlfSAgICAgICAgICAgID0gVHJhbnNsYXRhYmxlKCdVbmF2YWlsYWJsZScpOwogICAgICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntVc2VyU3RhdGVEZXNjcmlwdGlvbn0gPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ1VzZXIgc2V0IHRoZWlyIHN0YXR1cyB0byB1bmF2YWlsYWJsZS4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIG93bmVyIGluZm8KICAgIHsKICAgICAgICBteSAlT3duZXJJbmZvID0gJFVzZXJPYmplY3QtPkdldFVzZXJEYXRhKAogICAgICAgICAgICBVc2VySUQgPT4gJFRpY2tldHtPd25lcklEfSwKICAgICAgICApOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdPd25lcicsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVRpY2tldCwKICAgICAgICAgICAgICAgICVPd25lckluZm8sCiAgICAgICAgICAgICAgICAlQWNsQWN0aW9uLAogICAgICAgICAgICAgICAgKCAkT25saW5lRGF0YXtPd25lcklEfSAvLyB7fSApLT4lKiwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6OlJlc3BvbnNpYmxlJykgKSB7CgogICAgICAgICMgc2hvdyByZXNwb25zaWJsZQogICAgICAgIG15ICVSZXNwb25zaWJsZUluZm8gPSAkVXNlck9iamVjdC0+R2V0VXNlckRhdGEoCiAgICAgICAgICAgIFVzZXJJRCA9PiAkVGlja2V0e1Jlc3BvbnNpYmxlSUR9IHx8IDEsCiAgICAgICAgKTsKCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1Jlc3BvbnNpYmxlJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVUaWNrZXQsICVSZXNwb25zaWJsZUluZm8sICVBY2xBY3Rpb24sICV7ICRPbmxpbmVEYXRhe1Jlc3BvbnNpYmxlSUR9IC8vIHt9IH0gfSwKICAgICAgICApOwogICAgfQoKICAgICMgc2V0IGRpc3BsYXkgb3B0aW9ucwogICAgJFBhcmFte1dpZGdldFRpdGxlfSA9IFRyYW5zbGF0YWJsZSgnVGlja2V0IEluZm9ybWF0aW9uJyk7CiAgICAkUGFyYW17SG9va30gICAgICAgID0gJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6Okhvb2snKSB8fCAnVGlja2V0Iyc7CgogICAgIyBjaGVjayBpZiB0aWNrZXQgaXMgbm9ybWFsIG9yIHByb2Nlc3MgdGlja2V0CiAgICBteSAkSXNQcm9jZXNzVGlja2V0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlRpY2tldCcpLT5UaWNrZXRDaGVja0ZvclByb2Nlc3NUeXBlKAogICAgICAgIFRpY2tldElEID0+ICRUaWNrZXR7VGlja2V0SUR9CiAgICApOwoKICAgICMgZ2V0IHpvb20gc2V0dGluZ3MgZGVwZW5kaW5nIG9uIHRpY2tldCB0eXBlCiAgICAkU2VsZi0+e0Rpc3BsYXlTZXR0aW5nc30gPSAkQ29uZmlnT2JqZWN0LT5HZXQoIlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Wm9vbSIpOwoKICAgICMgb3ZlcndyaXRlIGRpc3BsYXkgb3B0aW9ucyBmb3IgcHJvY2VzcyB0aWNrZXQKICAgIGlmICgkSXNQcm9jZXNzVGlja2V0KSB7CiAgICAgICAgJFBhcmFte1dpZGdldFRpdGxlfSA9ICRTZWxmLT57RGlzcGxheVNldHRpbmdzfS0+e1Byb2Nlc3NEaXNwbGF5fS0+e1dpZGdldFRpdGxlfTsKICAgIH0KCiAgICAjIGdldCBkeW5hbWljIGZpZWxkIGNvbmZpZyBmb3IgZnJvbnRlbmQgbW9kdWxlCiAgICBteSAkRHluYW1pY0ZpZWxkRmlsdGVyID0gewogICAgICAgIElzSGFzaFJlZldpdGhEYXRhKCAkU2VsZi0+e0Rpc3BsYXlTZXR0aW5nc317RHluYW1pY0ZpZWxkV2lkZ2V0RGlzcGxheX0gKQogICAgICAgID8gJXsKICAgICAgICAgICAgJENvbmZpZ09iamVjdC0+R2V0KCJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldFpvb20iKQogICAgICAgICAgICAgICAgLT57RHluYW1pY0ZpZWxkV2lkZ2V0RHluYW1pY0ZpZWxkfQogICAgICAgICAgICAgICAgfHwge30KICAgICAgICAgICAgfQogICAgICAgIDogKCksCiAgICAgICAgJElzUHJvY2Vzc1RpY2tldAogICAgICAgID8gJXsKICAgICAgICAgICAgJENvbmZpZ09iamVjdC0+R2V0KCJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldFpvb20iKQogICAgICAgICAgICAgICAgLT57UHJvY2Vzc1dpZGdldER5bmFtaWNGaWVsZH0KICAgICAgICAgICAgICAgIHx8IHt9CiAgICAgICAgICAgIH0KICAgICAgICA6ICgpLAogICAgICAgICV7ICRDb25maWdPYmplY3QtPkdldCgiVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRab29tIiktPntEeW5hbWljRmllbGR9IHx8IHt9IH0sCiAgICB9OwoKICAgICMgZ2V0IHRoZSBkeW5hbWljIGZpZWxkcyBmb3IgdGlja2V0IG9iamVjdAogICAgbXkgJER5bmFtaWNGaWVsZCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKS0+RHluYW1pY0ZpZWxkTGlzdEdldCgKICAgICAgICBWYWxpZCAgICAgICA9PiAxLAogICAgICAgIE9iamVjdFR5cGUgID0+IFsnVGlja2V0J10sCiAgICAgICAgRmllbGRGaWx0ZXIgPT4gJER5bmFtaWNGaWVsZEZpbHRlciB8fCB7fSwKICAgICk7CiAgICBteSAkRHluYW1pY0ZpZWxkQmFja2VuZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQnKTsKCiAgICAjIHRvIHN0b3JlIGR5bmFtaWMgZmllbGRzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgcHJvY2VzcyB3aWRnZXQgYW5kIGluIHRoZSBzaWRlYmFyCiAgICBteSAoQEZpZWxkc1NpZGViYXIpOwoKICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRpY2tldCBvYmplY3QKICAgIERZTkFNSUNGSUVMRDoKICAgIGZvciBteSAkRHluYW1pY0ZpZWxkQ29uZmlnICggJER5bmFtaWNGaWVsZC0+QCogKSB7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgdW5sZXNzIElzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIHVubGVzcyBkZWZpbmVkICRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9OwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9IGVxICcnOwoKICAgICAgICAjIENoZWNrIGlmIHRoaXMgZmllbGQgaXMgc3VwcG9zZWQgdG8gYmUgaGlkZGVuIGZyb20gdGhlIHRpY2tldCBpbmZvcm1hdGlvbiBib3guCiAgICAgICAgIyAgIEZvciBleGFtcGxlLCBpdCdzIGRpc3BsYXllZCBieSBhIGRpZmZlcmVudCBtZWNoYW5pc20gKGkuZS4gYXN5bmMgd2lkZ2V0KS4KICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZgogICAgICAgICAgICAkRHluYW1pY0ZpZWxkQmFja2VuZE9iamVjdC0+SGFzQmVoYXZpb3IoCiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgIEJlaGF2aW9yICAgICAgICAgICA9PiAnSXNIaWRkZW5JblRpY2tldEluZm9ybWF0aW9uJywKICAgICAgICAgICAgKTsKCiAgICAgICAgIyB1c2UgdHJhbnNsYXRpb24gaGVyZSB0byBiZSBhYmxlIHRvIHJlZHVjZSB0aGUgY2hhcmFjdGVyIGxlbmd0aCBpbiB0aGUgdGVtcGxhdGUKICAgICAgICBteSAkTGFiZWwgPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICREeW5hbWljRmllbGRDb25maWctPntMYWJlbH0gKTsKCiAgICAgICAgbXkgJFZhbHVlU3RyZyA9ICREeW5hbWljRmllbGRCYWNrZW5kT2JqZWN0LT5EaXNwbGF5VmFsdWVSZW5kZXIoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgPT4gJFRpY2tldHsiRHluYW1pY0ZpZWxkXyREeW5hbWljRmllbGRDb25maWctPntOYW1lfSJ9LAogICAgICAgICAgICBMYXlvdXRPYmplY3QgICAgICAgPT4gJExheW91dE9iamVjdCwKICAgICAgICAgICAgVmFsdWVNYXhDaGFycyAgICAgID0+ICRDb25maWdPYmplY3QtPkdldCgnVGlja2V0OjpGcm9udGVuZDo6RHluYW1pY0ZpZWxkc1pvb21NYXhTaXplU2lkZWJhcicpIHx8IDE4LCAgICAjIGxpbWl0IGZvciBzaWRlYmFyIGRpc3BsYXkKICAgICAgICAgICAgTXVsdGlMaW5rICAgICAgICAgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkU2VsZi0+e0Rpc3BsYXlTZXR0aW5nc30tPntEeW5hbWljRmllbGR9LT57ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ICkgewogICAgICAgICAgICBwdXNoIEBGaWVsZHNTaWRlYmFyLCB7CiAgICAgICAgICAgICAgICAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gPT4gJFZhbHVlU3RyZy0+e1RpdGxlfSwKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0sCiAgICAgICAgICAgICAgICBUaXRsZSAgICAgICAgICAgICAgICAgICAgICAgPT4gJFZhbHVlU3RyZy0+e1RpdGxlfSwKICAgICAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICAgICAgICAgICA9PiAkVmFsdWVTdHJnLT57VmFsdWV9LAogICAgICAgICAgICAgICAgTGFiZWwgICAgICAgICAgICAgICAgICAgICAgID0+ICRMYWJlbCwKICAgICAgICAgICAgICAgIExpbmsgICAgICAgICAgICAgICAgICAgICAgICA9PiAkVmFsdWVTdHJnLT57TGlua30sCiAgICAgICAgICAgICAgICBMaW5rUHJldmlldyAgICAgICAgICAgICAgICAgPT4gJFZhbHVlU3RyZy0+e0xpbmtQcmV2aWV3fSwKICAgICAgICAgICAgICAgIEZpZWxkVHlwZSAgICAgICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57RmllbGRUeXBlfSwKICAgICAgICAgICAgICAgIFRpdGxlRmllbGRDb25maWcgICAgICAgICAgICA9PiAoICREeW5hbWljRmllbGRDb25maWctPntGaWVsZFR5cGV9IGVxICdUaXRsZScgKSA/ICREeW5hbWljRmllbGRDb25maWctPntDb25maWd9IDogdW5kZWYsCgogICAgICAgICAgICAgICAgIyBJbmNsdWRlIHVuaXF1ZSBwYXJhbWV0ZXIgd2l0aCBkeW5hbWljIGZpZWxkIG5hbWUgaW4gY2FzZSBvZiBjb2xsaXNpb24gd2l0aCBvdGhlcnMuCiAgICAgICAgICAgICAgICAjICAgUGxlYXNlIHNlZSBidWcjMTMzNjIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgICAgICAgICAgICAgICAiRHluYW1pY0ZpZWxkXyREeW5hbWljRmllbGRDb25maWctPntOYW1lfSIgPT4gJFZhbHVlU3RyZy0+e1RpdGxlfSwKICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgICMgZXhhbXBsZSBvZiBkeW5hbWljIGZpZWxkcyBvcmRlciBjdXN0b21pemF0aW9uCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldER5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9LAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIExhYmVsID0+ICRMYWJlbCwKICAgICAgICAgICAgfSwKICAgICAgICApOwoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gLiAnX1BsYWluJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBWYWx1ZSA9PiAkVmFsdWVTdHJnLT57VmFsdWV9LAogICAgICAgICAgICAgICAgVGl0bGUgPT4gJFZhbHVlU3RyZy0+e1RpdGxlfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgb3V0cHV0IGR5bmFtaWMgZmllbGRzIGluIHRoZSBzaWRlYmFyCiAgICBGSUVMRDoKICAgIGZvciBteSAkRmllbGQgKEBGaWVsZHNTaWRlYmFyKSB7CgogICAgICAgICMgY2hlY2sgU2V0IGZpZWxkIGJlaGF2aW9yIHRvIGluY2x1ZGUgbGVuc2VzIG9uIFNldHMKICAgICAgICBteSAkRmllbGRDb25maWcgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkJyktPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgTmFtZSA9PiAkRmllbGQtPntOYW1lfSwKICAgICAgICApOwogICAgICAgIG15ICRJc1NldEZpZWxkID0gJER5bmFtaWNGaWVsZEJhY2tlbmRPYmplY3QtPkhhc0JlaGF2aW9yKAogICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJEZpZWxkQ29uZmlnLAogICAgICAgICAgICBCZWhhdmlvciAgICAgICAgICAgPT4gJ0lzU2V0RmllbGQnLAogICAgICAgICk7CgogICAgICAgICMgaGFuZGxlIHRpdGxlcyBzZXBhcmF0ZWx5CiAgICAgICAgaWYgKCAkRmllbGQtPntUaXRsZUZpZWxkQ29uZmlnfSApIHsKICAgICAgICAgICAgbXkgJFN0eWxlID0gInBhZGRpbmctbGVmdDo0cHg7Zm9udC1zaXplOiRGaWVsZC0+e1RpdGxlRmllbGRDb25maWd9e0ZvbnRTaXplfXB4O2NvbG9yOiRGaWVsZC0+e1RpdGxlRmllbGRDb25maWd9e0ZvbnRDb2xvcn07IjsKCiAgICAgICAgICAgIGlmICggJEZpZWxkLT57VGl0bGVGaWVsZENvbmZpZ317Q0JGb250U3R5bGVVbmRlckxpbmVWYWx1ZX0gKSB7CiAgICAgICAgICAgICAgICAkU3R5bGUgLj0gInRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICRGaWVsZC0+e1RpdGxlRmllbGRDb25maWd9e0NCRm9udFN0eWxlSXRhbGljVmFsdWV9ICkgewogICAgICAgICAgICAgICAgJFN0eWxlIC49ICJmb250LXN0eWxlOml0YWxpYzsiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggJEZpZWxkLT57VGl0bGVGaWVsZENvbmZpZ317Q0JGb250U3R5bGVCb2xkVmFsdWV9ICkgewogICAgICAgICAgICAgICAgJFN0eWxlIC49ICJmb250LXdlaWdodDpib2xkOyI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIFRleHQgICAgICAgPT4gJEZpZWxkLT57TGFiZWx9LAogICAgICAgICAgICAgICAgICAgIFN0eWxlICAgICAgPT4gJFN0eWxlLAogICAgICAgICAgICAgICAgICAgIFRpdGxlRmllbGQgPT4gMSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBuZXh0IEZJRUxEOwogICAgICAgIH0KIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiMgICAgICAgICBlbHNpZiAoJElzU2V0RmllbGQpIHsKICAgICAgICBlbHNpZiAoCiAgICAgICAgICAgICRJc1NldEZpZWxkCiAgICAgICAgICAgIHx8ICgkRmllbGQtPntGaWVsZFR5cGV9IGVxICdEYXRhYmFzZScgJiYgJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGREQjo6RXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZScpKQogICAgICAgICkgewojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaWNrZXREeW5hbWljRmllbGQnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgTGFiZWwgICAgID0+ICRGaWVsZC0+e0xhYmVsfSwKICAgICAgICAgICAgICAgICAgICBWYWx1ZSAgICAgPT4gJEZpZWxkLT57VmFsdWV9LAogICAgICAgICAgICAgICAgICAgIEhUTUxWYWx1ZSA9PiAxLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG5leHQgRklFTEQ7CiAgICAgICAgfQoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBMYWJlbCA9PiAkRmllbGQtPntMYWJlbH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkRmllbGQtPntMaW5rfSApIHsKICAgICAgICAgICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoICRGaWVsZC0+e0xpbmt9ICkgKSB7CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdUaWNrZXREeW5hbWljRmllbGRMaW5rJywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBmb3IgbXkgJEluZGV4ICggMCAuLiAkI3sgJEZpZWxkLT57TGlua30gfSApIHsKICAgICAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnVmFsdWVJdGVtTGluaycsCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJEZpZWxkLT57TmFtZX0gPT4gJEZpZWxkLT57VGl0bGV9WyRJbmRleF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAlVGlja2V0LAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYWxpYXMgZm9yIHRpY2tldCB0aXRsZSwgVGl0bGUgd2lsbCBiZSBvdmVyd3JpdHRlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0VGl0bGUgPT4gJFRpY2tldHtUaXRsZX0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSAgICAgICA9PiAkRmllbGQtPntWYWx1ZX1bJEluZGV4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICRGaWVsZC0+e1RpdGxlfVskSW5kZXhdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGluayAgICAgICAgPT4gJEZpZWxkLT57TGlua31bJEluZGV4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmtQcmV2aWV3ID0+ICRGaWVsZC0+e0xpbmtQcmV2aWV3fVskSW5kZXhdLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgSW5jbHVkZSB1bmlxdWUgcGFyYW1ldGVyIHdpdGggZHluYW1pYyBmaWVsZCBuYW1lIGluIGNhc2Ugb2YgY29sbGlzaW9uIHdpdGggb3RoZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIFBsZWFzZSBzZWUgYnVnIzEzMzYyIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkR5bmFtaWNGaWVsZF8kRmllbGQtPntOYW1lfSIgPT4gJEZpZWxkLT57VGl0bGV9WyRJbmRleF0sCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBpZiAoICRJbmRleCAhPSAkI3sgJEZpZWxkLT57TGlua30gfSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdNdWx0aXZhbHVlU2VwYXJhdG9yTGluaycsCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkTGluaycsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnVmFsdWVJdGVtTGluaycsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICRGaWVsZC0+e05hbWV9ID0+ICRGaWVsZC0+e1RpdGxlfSwKICAgICAgICAgICAgICAgICAgICAgICAgJVRpY2tldCwKCiAgICAgICAgICAgICAgICAgICAgICAgICMgYWxpYXMgZm9yIHRpY2tldCB0aXRsZSwgVGl0bGUgd2lsbCBiZSBvdmVyd3JpdHRlbgogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRUaXRsZSA9PiAkVGlja2V0e1RpdGxlfSwKICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgICAgICAgPT4gJEZpZWxkLT57VmFsdWV9LAogICAgICAgICAgICAgICAgICAgICAgICBUaXRsZSAgICAgICA9PiAkRmllbGQtPntUaXRsZX0sCiAgICAgICAgICAgICAgICAgICAgICAgIExpbmsgICAgICAgID0+ICRGaWVsZC0+e0xpbmt9LAogICAgICAgICAgICAgICAgICAgICAgICBMaW5rUHJldmlldyA9PiAkRmllbGQtPntMaW5rUHJldmlld30sCgogICAgICAgICAgICAgICAgICAgICAgICAjIEluY2x1ZGUgdW5pcXVlIHBhcmFtZXRlciB3aXRoIGR5bmFtaWMgZmllbGQgbmFtZSBpbiBjYXNlIG9mIGNvbGxpc2lvbiB3aXRoIG90aGVycy4KICAgICAgICAgICAgICAgICAgICAgICAgIyAgIFBsZWFzZSBzZWUgYnVnIzEzMzYyIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAiRHluYW1pY0ZpZWxkXyRGaWVsZC0+e05hbWV9IiA9PiAkRmllbGQtPntUaXRsZX0sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkUGxhaW4nLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgVmFsdWUgPT4gJEZpZWxkLT57VmFsdWV9LAogICAgICAgICAgICAgICAgICAgIFRpdGxlID0+ICRGaWVsZC0+e1RpdGxlfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIG15ICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdBZ2VudFRpY2tldFpvb20vVGlja2V0SW5mb3JtYXRpb24nLAogICAgICAgIERhdGEgICAgICAgICA9PiB7ICVQYXJhbSwgJVRpY2tldCwgJUFjbEFjdGlvbiB9LAogICAgKTsKCiAgICByZXR1cm4gewogICAgICAgIE91dHB1dCA9PiAkT3V0cHV0LAogICAgfTsKfQoKMTsK</File>
        <File Location="Custom/Kernel/System/DynamicField/Driver/BaseDatabase.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE5IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSA2MDM3YzU1N2RmNjUzYzQwMTc1N2Q1NjQ1NTQ4MmQxY2JhYjM1OGMxIC0gS2VybmVsL1N5c3RlbS9EeW5hbWljRmllbGQvRHJpdmVyL0Jhc2VEYXRhYmFzZS5wbQojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkRyaXZlcjo6QmFzZURhdGFiYXNlOwoKIyMgbm9maWx0ZXIoVGlkeUFsbDo6UGx1Z2luOjpPVE9CTzo6UGVybDo6UGFyYW1PYmplY3QpCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCnVzZSBwYXJlbnQgcXcoS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6RHJpdmVyOjpCYXNlKTsKCiMgY29yZSBtb2R1bGVzCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwp1c2UgTGlzdDo6VXRpbCBxdyh1bmlxKTsKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiMgQ1BBTiBtb2R1bGVzCnVzZSBMaXN0OjpBbGxVdGlscyBxdyhhbnkgbGFzdF9pbmRleCk7CgojIE9UT0JPIG1vZHVsZXMKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgICAgICAgICAgICAgIHF3KFRyYW5zbGF0YWJsZSk7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAnS2VybmVsOjpTeXN0ZW06OkNhY2hlJywKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGREQicsCiAgICAnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlJywKICAgICdLZXJuZWw6OlN5c3RlbTo6TG9nJywKKTsKCj1oZWFkMSBOQU1FCgpLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpEcml2ZXI6OkJhc2VEYXRhYmFzZSAtIGJhc2UgbW9kdWxlIGZvciB0aGUgRGF0YWJhc2UgZHluYW1pYyBmaWVsZAoKPWhlYWQxIERFU0NSSVBUSU9OCgpCYXNlIG1vZHVsZSBmb3IgdGhlIERhdGFiYXNlIGR5bmFtaWMgZmllbGQuCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKTW9kdWxlcyB0aGF0IGFyZSBkZXJpdmVkIGZyb20gdGhpcyBiYXNlIG1vZHVsZSBpbXBsZW1lbnQgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgTDxLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kPi4KUGxlYXNlIGxvb2sgdGhlcmUgZm9yIGEgZGV0YWlsZWQgcmVmZXJlbmNlIG9mIHRoZSBmdW5jdGlvbnMuCgo9Y3V0CgpzdWIgVmFsdWVHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCByYXcgdmFsdWVzIG9mIHRoZSBkeW5hbWljIGZpZWxkCiAgICBteSAkREZWYWx1ZSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZScpLT5WYWx1ZUdldCgKICAgICAgICBGaWVsZElEICA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtJRH0sCiAgICAgICAgT2JqZWN0SUQgPT4gJFBhcmFte09iamVjdElEfSwKICAgICk7CgogICAgaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtDb25maWd9e011bHRpc2VsZWN0fSApIHsKCiAgICAgICAgcmV0dXJuIGlmICEkREZWYWx1ZTsKICAgICAgICByZXR1cm4gaWYgIUlzQXJyYXlSZWZXaXRoRGF0YSgkREZWYWx1ZSk7CiAgICAgICAgcmV0dXJuIGlmICFJc0hhc2hSZWZXaXRoRGF0YSggJERGVmFsdWUtPlswXSApOwoKICAgICAgICBteSBAUmV0dXJuRGF0YTsKICAgICAgICBmb3IgbXkgJEl0ZW0gKCAkREZWYWx1ZS0+QCogKSB7CiAgICAgICAgICAgIGlmICggJFBhcmFte1NldH0gKSB7CiAgICAgICAgICAgICAgICAkUmV0dXJuRGF0YVsgJEl0ZW0tPntJbmRleFNldH0gXSAvLz0gW107CiAgICAgICAgICAgICAgICBwdXNoICRSZXR1cm5EYXRhWyAkSXRlbS0+e0luZGV4U2V0fSBdLT5AKiwgJEl0ZW0tPntWYWx1ZVRleHR9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgcHVzaCBAUmV0dXJuRGF0YSwgJEl0ZW0tPntWYWx1ZVRleHR9OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBcQFJldHVybkRhdGE7CiAgICB9CgogICAgcmV0dXJuICRTZWxmLT5WYWx1ZVN0cnVjdHVyZUZyb21EQigKICAgICAgICBWYWx1ZURCICAgID0+ICRERlZhbHVlLAogICAgICAgIFZhbHVlS2V5ICAgPT4gJ1ZhbHVlVGV4dCcsCiAgICAgICAgU2V0ICAgICAgICA9PiAkUGFyYW17U2V0fSwKICAgICAgICBNdWx0aVZhbHVlID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317TXVsdGlWYWx1ZX0sCiAgICAgICAgQmFzZUFycmF5ICA9PiAhJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ317Q29uZmlnfXtNdWx0aVZhbHVlfSwKICAgICk7Cn0KCnN1YiBWYWx1ZVNldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIGlmICggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ317Q29uZmlnfXtNdWx0aXNlbGVjdH0gKSB7CgogICAgICAgIG15ICRWYWx1ZTsKICAgICAgICBpZiAoICRQYXJhbXtTZXR9ICkgewogICAgICAgICAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSggJFBhcmFte1ZhbHVlfSApICkgewogICAgICAgICAgICAgICAgVkFMVUVJVEVNOgogICAgICAgICAgICAgICAgZm9yIG15ICRWYWx1ZUluZGV4ICggMCAuLiAkI3sgJFBhcmFte1ZhbHVlfSB9ICkgewogICAgICAgICAgICAgICAgICAgIG15ICRWYWx1ZUl0ZW0gPSAkUGFyYW17VmFsdWV9WyRWYWx1ZUluZGV4XTsKICAgICAgICAgICAgICAgICAgICBpZiAoIHJlZiAkVmFsdWVJdGVtIGVxICdBUlJBWScgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHB1c2ggJFZhbHVlLT5AKiwgbWFwIHsgeyBJbmRleFNldCA9PiAkVmFsdWVJbmRleCwgVmFsdWVUZXh0ID0+ICRfIH0gfSAkVmFsdWVJdGVtLT5AKjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHB1c2ggJFZhbHVlLT5AKiwgbWFwIHsgeyBJbmRleFNldCA9PiAkVmFsdWVJbmRleCwgVmFsdWVUZXh0ID0+ICRfIH0gfSAoIHNwbGl0IC8sLywgJFZhbHVlSXRlbSAvLyAnJyApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZWxzaWYgKCByZWYgJFBhcmFte1ZhbHVlfSBlcSAnQVJSQVknICkgewogICAgICAgICAgICAkVmFsdWUgPSBbIG1hcCB7IHsgVmFsdWVUZXh0ID0+ICRfIH0gfSAkUGFyYW17VmFsdWV9LT5AKiBdOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFZhbHVlID0gWyBtYXAgeyB7IFZhbHVlVGV4dCA9PiAkXyB9IH0gKCBzcGxpdCAvLC8sICRQYXJhbXtWYWx1ZX0gLy8gJycgKSBdOwogICAgICAgIH0KCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICMgZGVsZXRlIERpc3BsYXlWYWx1ZVJlbmRlciBjYWNoZSBwZXIgaXRlbQogICAgICAgIG15IEBWYWx1ZUl0ZW1zID0gSXNBcnJheVJlZldpdGhEYXRhKCRWYWx1ZSkgPyAkVmFsdWUtPkAqIDogKCRWYWx1ZSk7CiAgICAgICAgVkFMVUVJVEVNOgogICAgICAgIGZvciBteSAkVmFsdWVJdGVtICggQFZhbHVlSXRlbXMgKSB7CiAgICAgICAgICAgIG5leHQgVkFMVUVJVEVNIHVubGVzcyAkVmFsdWVJdGVtOwogICAgICAgICAgICBuZXh0IFZBTFVFSVRFTSB1bmxlc3MgJFZhbHVlSXRlbS0+e1ZhbHVlVGV4dH07CgogICAgICAgICAgICBmb3IgbXkgJEludGVyZmFjZSAocXcoQWdlbnRJbnRlcmZhY2UgQ3VzdG9tZXJJbnRlcmZhY2UpKSB7CgogICAgICAgICAgICAgICAgIyBOT1RFICRWYWx1ZUl0ZW0gaXMgdGhlIFBvc3NpYmxlVmFsdWVzIGVsZW1lbnQgbWFya2VkIGFzIElkZW50aWZpZXIKICAgICAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5EZWxldGUoCiAgICAgICAgICAgICAgICAgICAgVHlwZSA9PiAnRHluYW1pY0ZpZWxkREInLAogICAgICAgICAgICAgICAgICAgIEtleSAgPT4gIiRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57SUR9LSRJbnRlcmZhY2UtJFZhbHVlSXRlbS0+e1RleHR9IiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCgogICAgICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkVmFsdWUnKS0+VmFsdWVTZXQoCiAgICAgICAgICAgIEZpZWxkSUQgID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57SUR9LAogICAgICAgICAgICBPYmplY3RJRCA9PiAkUGFyYW17T2JqZWN0SUR9LAogICAgICAgICAgICBWYWx1ZSAgICA9PiAkVmFsdWUsCiAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICB9CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICMgZGVsZXRlIERpc3BsYXlWYWx1ZVJlbmRlciBjYWNoZSBwZXIgaXRlbQogICAgbXkgQFZhbHVlSXRlbXMgPSBJc0FycmF5UmVmV2l0aERhdGEoJFBhcmFte1ZhbHVlfSkgPyAkUGFyYW17VmFsdWV9LT5AKiA6ICgkUGFyYW17VmFsdWV9KTsKICAgIFZBTFVFSVRFTToKICAgIGZvciBteSAkVmFsdWVJdGVtICggQFZhbHVlSXRlbXMgKSB7CiAgICAgICAgbmV4dCBWQUxVRUlURU0gdW5sZXNzICRWYWx1ZUl0ZW07CgogICAgICAgIGZvciBteSAkSW50ZXJmYWNlIChxdyhBZ2VudEludGVyZmFjZSBDdXN0b21lckludGVyZmFjZSkpIHsKCiAgICAgICAgICAgICMgTk9URSAkVmFsdWVJdGVtIGlzIHRoZSBQb3NzaWJsZVZhbHVlcyBlbGVtZW50IG1hcmtlZCBhcyBJZGVudGlmaWVyCiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5EZWxldGUoCiAgICAgICAgICAgICAgICBUeXBlID0+ICdEeW5hbWljRmllbGREQicsCiAgICAgICAgICAgICAgICBLZXkgID0+ICIkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0lEfS0kSW50ZXJmYWNlLSRWYWx1ZUl0ZW0iLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICBteSAkREJWYWx1ZSA9ICRTZWxmLT5WYWx1ZVN0cnVjdHVyZVRvREIoCiAgICAgICAgVmFsdWUgICAgICA9PiAkUGFyYW17VmFsdWV9LAogICAgICAgIFZhbHVlS2V5ICAgPT4gJ1ZhbHVlVGV4dCcsCiAgICAgICAgU2V0ICAgICAgICA9PiAkUGFyYW17U2V0fSwKICAgICAgICBNdWx0aVZhbHVlID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317TXVsdGlWYWx1ZX0sCiAgICApOwoKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkVmFsdWUnKS0+VmFsdWVTZXQoCiAgICAgICAgRmllbGRJRCAgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntJRH0sCiAgICAgICAgT2JqZWN0SUQgPT4gJFBhcmFte09iamVjdElEfSwKICAgICAgICBWYWx1ZSAgICA9PiAkREJWYWx1ZSwKICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7Cn0KCnN1YiBWYWx1ZUlzRGlmZmVyZW50IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBoYW5kbGUgYXJyYXkgY29tcGFyaXNvbgogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlMX0gZXEgJ0FSUkFZJyApIHsKCiAgICAgICAgIyBzdHJpcCB0cmFpbGluZyBlbXB0eSB2YWx1ZXMgYW5kIG1hcCBlbXB0eSBzdHJpbmdzIHRvIHVuZGVmCiAgICAgICAgIyAgIGZvciBjb21wYXJpc29uIG9mIGZyb250ZW5kIHZhbHVlIHdpdGggZGF0YWJhc2UgdmFsdWUKICAgICAgICBteSBAVmFsdWVzID0gbWFwIHsgKCBkZWZpbmVkICRfICYmICRfIGVxICcnICkgPyB1bmRlZiA6ICRfIH0gJFBhcmFte1ZhbHVlMX0tPkAqOwogICAgICAgIGlmICggYW55IHsgZGVmaW5lZCAkXyB9IEBWYWx1ZXMgKSB7CiAgICAgICAgICAgIHNwbGljZSggQFZhbHVlcywgKCBsYXN0X2luZGV4IHsgZGVmaW5lZCAkXyB9IEBWYWx1ZXMgKSArIDEgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIEBWYWx1ZXMgPSAoKTsKICAgICAgICB9CiAgICAgICAgJFBhcmFte1ZhbHVlMX0gPSBcQFZhbHVlczsKCiAgICAgICAgIyBzcGVjaWFsIGNhc2Ugd2hlcmUgdGhlIHZhbHVlcyBhcmUgZGlmZmVyZW50IGJ1dCB0aGV5IHNob3VsZCBiZSByZXBvcnRlZCBhcyBlcXVhbHMKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtWYWx1ZTJ9ICYmICEkUGFyYW17VmFsdWUxfS0+QCogKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlMn0gZXEgJ0FSUkFZJyApIHsKCiAgICAgICAgIyBzdHJpcCB0cmFpbGluZyBlbXB0eSB2YWx1ZXMgYW5kIG1hcCBlbXB0eSBzdHJpbmdzIHRvIHVuZGVmCiAgICAgICAgIyAgIGZvciBjb21wYXJpc29uIG9mIGZyb250ZW5kIHZhbHVlIHdpdGggZGF0YWJhc2UgdmFsdWUKICAgICAgICBteSBAVmFsdWVzID0gbWFwIHsgKCBkZWZpbmVkICRfICYmICRfIGVxICcnICkgPyB1bmRlZiA6ICRfIH0gJFBhcmFte1ZhbHVlMn0tPkAqOwogICAgICAgIGlmICggYW55IHsgZGVmaW5lZCAkXyB9IEBWYWx1ZXMgKSB7CiAgICAgICAgICAgIHNwbGljZSggQFZhbHVlcywgKCBsYXN0X2luZGV4IHsgZGVmaW5lZCAkXyB9IEBWYWx1ZXMgKSArIDEgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIEBWYWx1ZXMgPSAoKTsKICAgICAgICB9CiAgICAgICAgJFBhcmFte1ZhbHVlMn0gPSBcQFZhbHVlczsKCiAgICAgICAgIyBzcGVjaWFsIGNhc2Ugd2hlcmUgdGhlIHZhbHVlcyBhcmUgZGlmZmVyZW50IGJ1dCB0aGV5IHNob3VsZCBiZSByZXBvcnRlZCBhcyBlcXVhbHMKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtWYWx1ZTF9ICYmICEkUGFyYW17VmFsdWUyfS0+QCogKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBzcGVjaWFsIGNhc2VzIHdoZXJlIHRoZSB2YWx1ZXMgYXJlIGRpZmZlcmVudCBidXQgdGhleSBzaG91bGQgYmUgcmVwb3J0ZWQgYXMgZXF1YWxzCiAgICAjIE5PVEUgaW4gY2FzZSB0aGF0IGVpdGhlciBWYWx1ZTEgb3IgVmFsdWUyIGlzIGFuIGFycmF5IHJlZiwgd2UgcmVseSBvbiBzdHJpbmdpZmllZAogICAgIyAgIGFycmF5IHJlZmVyZW5jZXMgbm90IGJlaW5nIGVtcHR5IGZvciB0aGlzIHRvIHdvcmsKICAgIHJldHVybiBpZiAhZGVmaW5lZCAkUGFyYW17VmFsdWUxfSAmJiAoIGRlZmluZWQgJFBhcmFte1ZhbHVlMn0gJiYgJFBhcmFte1ZhbHVlMn0gZXEgJycgKTsKICAgIHJldHVybiBpZiAhZGVmaW5lZCAkUGFyYW17VmFsdWUyfSAmJiAoIGRlZmluZWQgJFBhcmFte1ZhbHVlMX0gJiYgJFBhcmFte1ZhbHVlMX0gZXEgJycgKTsKCiAgICAjIENvbXBhcmUgdGhlIHJlc3VsdHMuCiAgICByZXR1cm4gRGF0YUlzRGlmZmVyZW50KAogICAgICAgIERhdGExID0+IFwkUGFyYW17VmFsdWUxfSwKICAgICAgICBEYXRhMiA9PiBcJFBhcmFte1ZhbHVlMn0sCiAgICApOwp9CgpzdWIgVmFsdWVWYWxpZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgdmFsdWVzCiAgICBteSBAVmFsdWVzOwogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlfSBlcSAnQVJSQVknICkgewogICAgICAgIEBWYWx1ZXMgPSBAeyAkUGFyYW17VmFsdWV9IH07CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBAVmFsdWVzID0gKCAkUGFyYW17VmFsdWV9ICk7CiAgICB9CgogICAgbXkgJFN1Y2Nlc3M7CiAgICBmb3IgbXkgJFZhbHVlIChAVmFsdWVzKSB7CiAgICAgICAgJFN1Y2Nlc3MgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkVmFsdWUnKS0+VmFsdWVWYWxpZGF0ZSgKICAgICAgICAgICAgVmFsdWUgPT4gewogICAgICAgICAgICAgICAgVmFsdWVUZXh0ID0+ICRWYWx1ZSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIGlmICEkU3VjY2VzczsKICAgIH0KCiAgICByZXR1cm4gJFN1Y2Nlc3M7Cn0KCnN1YiBGaWVsZFZhbHVlVmFsaWRhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIENoZWNrIGZvciBkZWZpbmVkIHZhbHVlLgogICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17VmFsdWV9ICkgewogICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCBWYWx1ZSBpbiBEYXRhYmFzZSBEeW5hbWljRmllbGQhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBteSBAVmFsdWVzOwogICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoICRQYXJhbXtWYWx1ZX0gKSApIHsKICAgICAgICBAVmFsdWVzID0gQHsgJFBhcmFte1ZhbHVlfSB9OwogICAgfQogICAgZWxzZSB7CiAgICAgICAgQFZhbHVlcyA9ICggJFBhcmFte1ZhbHVlfSApOwogICAgfQoKICAgICRLZXJuZWw6Ok9NLT5PYmplY3RQYXJhbUFkZCgKICAgICAgICAnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZERCJyA9PiB7CiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfSwKICAgICAgICB9LAogICAgKTsKICAgIG15ICREeW5hbWljRmllbGREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGREQicpOwoKICAgIGZvciBteSAkVmFsdWUgKEBWYWx1ZXMpIHsKICAgICAgICBteSBAU2VhcmNoUmVzdWx0ID0gJER5bmFtaWNGaWVsZERCT2JqZWN0LT5EYXRhYmFzZVNlYXJjaEJ5Q29uZmlnKAogICAgICAgICAgICBDb25maWcgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9LAogICAgICAgICAgICBTZWFyY2ggPT4gJFZhbHVlLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIGlmICFJc0FycmF5UmVmV2l0aERhdGEoIFxAU2VhcmNoUmVzdWx0ICk7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCnN1YiBTZWFyY2hTUUxHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlT3BlcmF0b3JzID0gKAogICAgICAgIEVxdWFscyAgICAgICAgICAgID0+ICc9JywKICAgICAgICBHcmVhdGVyVGhhbiAgICAgICA9PiAnPicsCiAgICAgICAgR3JlYXRlclRoYW5FcXVhbHMgPT4gJz49JywKICAgICAgICBTbWFsbGVyVGhhbiAgICAgICA9PiAnPCcsCiAgICAgICAgU21hbGxlclRoYW5FcXVhbHMgPT4gJzw9JywKICAgICk7CgogICAgIyBnZXQgZGF0YWJhc2Ugb2JqZWN0CiAgICBteSAkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6REInKTsKCiAgICBpZiAoICRPcGVyYXRvcnN7ICRQYXJhbXtPcGVyYXRvcn0gfSApIHsKICAgICAgICBteSAkU1FMID0gIiAkUGFyYW17VGFibGVBbGlhc30udmFsdWVfdGV4dCAkT3BlcmF0b3JzeyRQYXJhbXtPcGVyYXRvcn19ICciOwogICAgICAgICRTUUwgLj0gJERCT2JqZWN0LT5RdW90ZSggJFBhcmFte1NlYXJjaFRlcm19ICkgLiAiJyAiOwogICAgICAgIHJldHVybiAkU1FMOwogICAgfQoKICAgIGlmICggJFBhcmFte09wZXJhdG9yfSBlcSAnTGlrZScgKSB7CgogICAgICAgIG15ICRTUUwgPSAkREJPYmplY3QtPlF1ZXJ5Q29uZGl0aW9uKAogICAgICAgICAgICBLZXkgICA9PiAiJFBhcmFte1RhYmxlQWxpYXN9LnZhbHVlX3RleHQiLAogICAgICAgICAgICBWYWx1ZSA9PiAkUGFyYW17U2VhcmNoVGVybX0sCiAgICAgICAgKTsKCiAgICAgICAgcmV0dXJuICRTUUw7CiAgICB9CgogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkxvZycpLT5Mb2coCiAgICAgICAgJ1ByaW9yaXR5JyA9PiAnZXJyb3InLAogICAgICAgICdNZXNzYWdlJyAgPT4gIlVuc3VwcG9ydGVkIE9wZXJhdG9yICRQYXJhbXtPcGVyYXRvcn0iLAogICAgKTsKCiAgICByZXR1cm47Cn0KCnN1YiBTZWFyY2hTUUxPcmRlckZpZWxkR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuICIkUGFyYW17VGFibGVBbGlhc30udmFsdWVfdGV4dCI7Cn0KCnN1YiBFZGl0RmllbGRSZW5kZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHRha2UgY29uZmlnIGZyb20gZmllbGQgY29uZmlnCiAgICBteSAkRmllbGRDb25maWcgICAgICAgPSAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ307CiAgICBteSAkRmllbGROYW1lICAgICAgICAgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwogICAgbXkgJEZpZWxkTGFiZWwgICAgICAgID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntMYWJlbH07CiAgICBteSAkRmllbGRMYWJlbEVzY2FwZWQgPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+QXNjaWkySHRtbCgKICAgICAgICBUZXh0ID0+ICRQYXJhbXtMYXlvdXRPYmplY3R9e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCRGaWVsZExhYmVsKSwKICAgICk7CgogICAgbXkgJFZhbHVlID0gJyc7CgogICAgIyBQcmVwYXJlIHRoZSB2YWx1ZSB0byBiZSBjb21tYSBzZXBhcmF0ZWQgYW5kIHNldCB0aGUgZmllbGQgdmFsdWUuCiAgICBteSBAVmFsdWVzOwogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlfSBlcSAnQVJSQVknICkgewogICAgICAgIEBWYWx1ZXMgPSBAeyAkUGFyYW17VmFsdWV9IH07CiAgICB9CiAgICBlbHNpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtWYWx1ZX0gKSApIHsKICAgICAgICBAVmFsdWVzID0gKCAkUGFyYW17VmFsdWV9ICk7CiAgICB9CgogICAgaWYgKCAkRmllbGRDb25maWctPntNdWx0aXNlbGVjdH0gKSB7CgogICAgICAgICMgcHJldmVudCBqb2luaW5nIHVuZGVmIHZhbHVlcwogICAgICAgIEBWYWx1ZXMgPSBtYXAgeyAkXyAvLyAnJyB9IEBWYWx1ZXM7CgogICAgICAgICMgU2V0IG5ldyBsaW5lIHNlcGFyYXRvci4KICAgICAgICBteSAkSXRlbVNlcGFyYXRvciA9ICcsICc7CiAgICAgICAgJFZhbHVlID0gam9pbiAkSXRlbVNlcGFyYXRvciwgQFZhbHVlczsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRWYWx1ZSA9IFxAVmFsdWVzOwogICAgfQoKICAgICMgRXh0cmFjdCB0aGUgZHluYW1pYyBmaWVsZCB2YWx1ZSBmcm9tIHRoZSB3ZWIgcmVxdWVzdCBhbmQgc2V0IGl0IGlmIHByZXNlbnQuIERvIHRoaXMgYWZ0ZXIKICAgICMgICBzdG9yZWQgdmFsdWUgaXMgcmV0cmlldmVkIGFuZCBwcm9jZXNzZWQsIHNvIGl0IGNhbiBiZSBvdmVycmlkZGVuIGlmIGZvcm0gaGFzIHJlZnJlc2hlZCBmb3IKICAgICMgICBzb21lIHJlYXNvbnMgKGkuZS4gYXR0YWNobWVudCBoYXMgYmVlbiB1cGxvYWRlZCkuIFNlZSBidWcjMTI0NTMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgICBteSAkRmllbGRWYWx1ZSA9ICRTZWxmLT5FZGl0RmllbGRWYWx1ZUdldCgKICAgICAgICAlUGFyYW0sCiAgICApOwoKICAgICMgc2V0IHZhbHVlcyBmcm9tIFBhcmFtT2JqZWN0IGlmIHByZXNlbnQKICAgIGlmICggJEZpZWxkQ29uZmlnLT57TXVsdGlWYWx1ZX0gKSB7CiAgICAgICAgaWYgKCAkRmllbGRWYWx1ZS0+QCogKSB7CiAgICAgICAgICAgICRWYWx1ZSA9ICRGaWVsZFZhbHVlOwogICAgICAgIH0KICAgIH0KICAgIGVsc2lmICggZGVmaW5lZCAkRmllbGRWYWx1ZSApIHsKICAgICAgICAkVmFsdWUgPSAkRmllbGRWYWx1ZTsKICAgIH0KCiAgICBpZiAoICFyZWYgJFZhbHVlICkgewogICAgICAgICRWYWx1ZSA9IFskVmFsdWVdOwogICAgfQogICAgZWxzaWYgKCAhJFZhbHVlLT5AKiApIHsKICAgICAgICAkVmFsdWUgPSBbdW5kZWZdOwogICAgfQoKICAgICMgY2hlY2sgYW5kIHNldCBjbGFzcyBpZiBuZWNlc3NhcnkKICAgIG15ICRGaWVsZENsYXNzID0gJ0R5bmFtaWNGaWVsZERCIFc1MHBjJzsKICAgIGlmICggZGVmaW5lZCAkUGFyYW17Q2xhc3N9ICYmICRQYXJhbXtDbGFzc30gbmUgJycgKSB7CiAgICAgICAgJEZpZWxkQ2xhc3MgLj0gJyAnIC4gJFBhcmFte0NsYXNzfTsKICAgIH0KCiAgICAjIHNldCBjbGFzc2VzIGFjY29yZGluZyB0byBtYW5kYXRvcnkgYW5kIGFjbCBoaWRkZW4gcGFyYW1zCiAgICBpZiAoICRQYXJhbXtBQ0xIaWRkZW59ICYmICRQYXJhbXtNYW5kYXRvcnl9ICkgewogICAgICAgICRGaWVsZENsYXNzIC49ICcgVmFsaWRhdGVfUmVxdWlyZWRfSWZWaXNpYmxlJzsKICAgIH0KICAgIGVsc2lmICggJFBhcmFte01hbmRhdG9yeX0gKSB7CiAgICAgICAgJEZpZWxkQ2xhc3MgLj0gJyBWYWxpZGF0ZV9SZXF1aXJlZCc7CiAgICB9CgogICAgIyBzZXQgZXJyb3IgY3NzIGNsYXNzCiAgICBpZiAoICRQYXJhbXtTZXJ2ZXJFcnJvcn0gKSB7CiAgICAgICAgJEZpZWxkQ2xhc3MgLj0gJyBTZXJ2ZXJFcnJvcic7CiAgICB9CgogICAgIyBnZXQgdHJhbnNsYXRpb25zCiAgICBteSAkRGV0YWlsZWRTZWFyY2hNc2cgPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCJEZXRhaWxlZCBzZWFyY2giKTsKICAgIG15ICREZXRhaWxzTXNnICAgICAgICA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoIkRldGFpbHMiKTsKICAgIG15ICRSZW1vdmVWYWx1ZU1zZyAgICA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoIlJlbW92ZSB2YWx1ZSIpOwoKICAgICMgSGFuZGxpbmcgZm9yIERGIGRhdGFiYXNlIGluIEN1c3RvbWVyVGlja2V0UHJvY2VzcyBzY3JlZW4gKHNlZSBidWcjMTQwMzYpLgogICAgbXkgJER5bmFtaWNGaWVsZERCQ29udGFpbmVyID0gJ0R5bmFtaWNGaWVsZERCQ29udGFpbmVyJzsKICAgIGlmICggJFBhcmFte1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdBY3Rpb24nICkgZXEgJ0N1c3RvbWVyVGlja2V0UHJvY2VzcycgKSB7CiAgICAgICAgJER5bmFtaWNGaWVsZERCQ29udGFpbmVyIC49ICcgRHluYW1pY0ZpZWxkREJDb250YWluZXJQcm9jZXNzJzsKICAgIH0KCiAgICBteSAlRmllbGRUZW1wbGF0ZURhdGEgPSAoCiAgICAgICAgRmllbGROYW1lICAgICAgICAgICAgICAgPT4gJEZpZWxkTmFtZSwKICAgICAgICBGaWVsZExhYmVsICAgICAgICAgICAgICA9PiAkRmllbGRMYWJlbEVzY2FwZWQsCiAgICAgICAgRGV0YWlsZWRTZWFyY2hNc2cgICAgICAgPT4gJERldGFpbGVkU2VhcmNoTXNnLAogICAgICAgIEZpZWxkQ2xhc3MgICAgICAgICAgICAgID0+ICRGaWVsZENsYXNzLAogICAgICAgIERldGFpbHNNc2cgICAgICAgICAgICAgID0+ICREZXRhaWxzTXNnLAogICAgICAgIFJlbW92ZVZhbHVlTXNnICAgICAgICAgID0+ICRSZW1vdmVWYWx1ZU1zZywKICAgICAgICBEeW5hbWljRmllbGREQkNvbnRhaW5lciA9PiAkRHluYW1pY0ZpZWxkREJDb250YWluZXIsCiAgICAgICAgTXVsdGlWYWx1ZSAgICAgICAgICAgICAgPT4gJEZpZWxkQ29uZmlnLT57TXVsdGlWYWx1ZX0gfHwgMCwKICAgICAgICBSZWFkb25seSAgICAgICAgICAgICAgICA9PiAkUGFyYW17UmVhZG9ubHl9LAogICAgKTsKCiAgICBpZiAoICRGaWVsZENvbmZpZy0+e1Rvb2x0aXB9ICkgewogICAgICAgICRGaWVsZFRlbXBsYXRlRGF0YXtXaXRoVG9vbHRpcH0gPSAnb29vV2l0aFRUJzsKICAgIH0KCiAgICBteSAkQXV0b0NvbXBsZXRlQ29uZmlnID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdBdXRvQ29tcGxldGU6OkFnZW50JykKICAgICAgICAtPnsnRHluYW1pY0ZpZWxkREJTZWFyY2gnfTsKICAgIG15ICRBY3RpdmVBdXRvQ29tcGxldGUgPSAkQXV0b0NvbXBsZXRlQ29uZmlnLT57QXV0b0NvbXBsZXRlQWN0aXZlfSB8fCAwOwoKICAgIG15ICRGaWVsZFRlbXBsYXRlRmlsZSA9ICRQYXJhbXtDdXN0b21lckludGVyZmFjZX0KICAgICAgICA/CiAgICAgICAgJ0R5bmFtaWNGaWVsZC9DdXN0b21lci9CYXNlRGF0YWJhc2UnCiAgICAgICAgOgogICAgICAgICdEeW5hbWljRmllbGQvQWdlbnQvQmFzZURhdGFiYXNlJzsKCiAgICBteSAlRXJyb3IgPSAoCiAgICAgICAgU2VydmVyRXJyb3IgPT4gJFBhcmFte1NlcnZlckVycm9yfSwKICAgICAgICBNYW5kYXRvcnkgICA9PiAkUGFyYW17TWFuZGF0b3J5fSwKICAgICk7CiAgICBteSBAUmVzdWx0SFRNTDsKICAgIGZvciBteSAkVmFsdWVJbmRleCAoIDAgLi4gJCN7JFZhbHVlfSApIHsKICAgICAgICAkRmllbGRUZW1wbGF0ZURhdGF7RmllbGRJRH0gPSAkRmllbGRDb25maWctPntNdWx0aVZhbHVlfSA/ICRGaWVsZE5hbWUgLiAnXycgLiAkVmFsdWVJbmRleCA6ICRGaWVsZE5hbWU7CgogICAgICAgIGlmICggISRWYWx1ZUluZGV4ICkgewogICAgICAgICAgICBpZiAoICRFcnJvcntTZXJ2ZXJFcnJvcn0gKSB7CiAgICAgICAgICAgICAgICAkRXJyb3J7RGl2SURTZXJ2ZXJFcnJvcn0gPSAkRmllbGRUZW1wbGF0ZURhdGF7RmllbGRJRH0gLiAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgJEVycm9ye0Vycm9yTWVzc2FnZX0gICAgID0gVHJhbnNsYXRhYmxlKCAkUGFyYW17RXJyb3JNZXNzYWdlfSB8fCAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAkRXJyb3J7TWFuZGF0b3J5fSApIHsKICAgICAgICAgICAgICAgICRFcnJvcntEaXZJRE1hbmRhdG9yeX0gICAgICAgPSAkRmllbGRUZW1wbGF0ZURhdGF7RmllbGRJRH0gLiAnRXJyb3InOwogICAgICAgICAgICAgICAgJEVycm9ye0ZpZWxkUmVxdWlyZWRNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwdXNoIEBSZXN1bHRIVE1MLCAkUGFyYW17TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJEZpZWxkVGVtcGxhdGVGaWxlLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gewogICAgICAgICAgICAgICAgJUZpZWxkVGVtcGxhdGVEYXRhLAogICAgICAgICAgICAgICAgJUVycm9yLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gJFZhbHVlLT5bJFZhbHVlSW5kZXhdLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgbXkgJFRlbXBsYXRlSFRNTDsKICAgIGlmICggJEZpZWxkQ29uZmlnLT57TXVsdGlWYWx1ZX0gJiYgISRQYXJhbXtSZWFkb25seX0gKSB7CiAgICAgICAgJEZpZWxkVGVtcGxhdGVEYXRhe0ZpZWxkSUR9ID0gJEZpZWxkTmFtZSAuICdfVGVtcGxhdGUnOwoKICAgICAgICBpZiAoICRQYXJhbXtNYW5kYXRvcnl9ICkgewogICAgICAgICAgICAkRmllbGRDbGFzcyAuPSAnIFZhbGlkYXRpb25JZ25vcmUnOwogICAgICAgIH0KCiAgICAgICAgJFRlbXBsYXRlSFRNTCA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAkRmllbGRUZW1wbGF0ZUZpbGUsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7CiAgICAgICAgICAgICAgICAlRmllbGRUZW1wbGF0ZURhdGEsCiAgICAgICAgICAgICAgICBGaWVsZENsYXNzID0+ICRGaWVsZENsYXNzLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgJFBhcmFte0xheW91dE9iamVjdH0tPkFkZEpTRGF0YSgKICAgICAgICBLZXkgICA9PiAnQWN0aXZlQXV0b0NvbXBsZXRlJywKICAgICAgICBWYWx1ZSA9PiAkQWN0aXZlQXV0b0NvbXBsZXRlLAogICAgKTsKCiAgICAjIGNhbGwgRWRpdExhYmVsUmVuZGVyIG9uIHRoZSBjb21tb24gRHJpdmVyCiAgICBteSAkTGFiZWxTdHJpbmcgPSAkU2VsZi0+RWRpdExhYmVsUmVuZGVyKAogICAgICAgICVQYXJhbSwKICAgICAgICBNYW5kYXRvcnkgPT4gJFBhcmFte01hbmRhdG9yeX0gfHwgJzAnLAogICAgICAgIEZpZWxkTmFtZSA9PiAkRmllbGRDb25maWctPntNdWx0aVZhbHVlfSA/ICRGaWVsZE5hbWUgLiAnXzAnIDogJEZpZWxkTmFtZSwKICAgICk7CgogICAgbXkgJERhdGEgPSB7CiAgICAgICAgTGFiZWwgPT4gJExhYmVsU3RyaW5nLAogICAgfTsKCiAgICAjIGRlY2lkZSB3aGljaCBzdHJ1Y3R1cmUgdG8gcmV0dXJuCiAgICBpZiAoICRGaWVsZENvbmZpZy0+e011bHRpVmFsdWV9ICkgewogICAgICAgICREYXRhLT57TXVsdGlWYWx1ZX0gICAgICAgICA9IFxAUmVzdWx0SFRNTDsKICAgICAgICAkRGF0YS0+e011bHRpVmFsdWVUZW1wbGF0ZX0gPSAkVGVtcGxhdGVIVE1MOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJERhdGEtPntGaWVsZH0gPSAkUmVzdWx0SFRNTFswXTsKICAgIH0KCiAgICByZXR1cm4gJERhdGE7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRGaWVsZE5hbWUgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwoKICAgIG15ICRWYWx1ZTsKCiAgICAjIGNoZWNrIGlmIHRoZXJlIGlzIGEgVGVtcGxhdGUgYW5kIHJldHJpZXZlIHRoZSBkeW5hbWljIGZpZWxkIHZhbHVlIGZyb20gdGhlcmUKICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICRQYXJhbXtUZW1wbGF0ZX0gKSAmJiBkZWZpbmVkICRQYXJhbXtUZW1wbGF0ZX0tPnskRmllbGROYW1lfSApIHsKICAgICAgICAkVmFsdWUgPSAkUGFyYW17VGVtcGxhdGV9LT57JEZpZWxkTmFtZX07CiAgICB9CgogICAgIyBvdGhlcndpc2UgZ2V0IGR5bmFtaWMgZmllbGQgdmFsdWUgZnJvbSB0aGUgd2ViIHJlcXVlc3QKICAgIGVsc2lmICgKICAgICAgICBkZWZpbmVkICRQYXJhbXtQYXJhbU9iamVjdH0KICAgICAgICAmJiByZWYgJFBhcmFte1BhcmFtT2JqZWN0fSBlcSAnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcKICAgICAgICApCiAgICB7CiAgICAgICAgaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtDb25maWd9e011bHRpVmFsdWV9ICkgewogICAgICAgICAgICBteSBARGF0YSA9ICRQYXJhbXtQYXJhbU9iamVjdH0tPkdldEFycmF5KCBQYXJhbSA9PiAkRmllbGROYW1lICk7CgogICAgICAgICAgICAjIGRlbGV0ZSB0aGUgdGVtcGxhdGUgdmFsdWUKICAgICAgICAgICAgcG9wIEBEYXRhOwoKICAgICAgICAgICAgJFZhbHVlID0gXEBEYXRhOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFZhbHVlID0gJFBhcmFte1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRGaWVsZE5hbWUgKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCBkZWZpbmVkICRQYXJhbXtSZXR1cm5UZW1wbGF0ZVN0cnVjdHVyZX0gJiYgJFBhcmFte1JldHVyblRlbXBsYXRlU3RydWN0dXJlfSBlcSAxICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICRGaWVsZE5hbWUgPT4gJFZhbHVlLAogICAgICAgIH07CiAgICB9CgogICAgIyBmb3IgdGhpcyBmaWVsZCB0aGUgbm9ybWFsIHJldHVybiBhbmQgdGhlIFJldHVyblZhbHVlU3RydWN0dXJlIGFyZSB0aGUgc2FtZQogICAgcmV0dXJuICRWYWx1ZTsKfQoKc3ViIEVkaXRGaWVsZFZhbHVlVmFsaWRhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCB0aGUgZmllbGQgdmFsdWUgZnJvbSB0aGUgaHR0cCByZXF1ZXN0CiAgICBteSAkVmFsdWUgPSAkU2VsZi0+RWRpdEZpZWxkVmFsdWVHZXQoCiAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LAogICAgICAgIFBhcmFtT2JqZWN0ICAgICAgICA9PiAkUGFyYW17UGFyYW1PYmplY3R9LAoKICAgICAgICAjIG5vdCBuZWNlc3NhcnkgZm9yIHRoaXMgRHJpdmVyIGJ1dCBwbGFjZSBpdCBmb3IgY29uc2lzdGVuY3kgcmVhc29ucwogICAgICAgIFJldHVyblZhbHVlU3RydWN0dXJlID0+IDEsCiAgICApOwoKICAgIG15ICRTZXJ2ZXJFcnJvcjsKCiAgICAjIHJlZiBjb21wYXJpc29uIGJlY2F1c2UgRWRpdEZpZWxkVmFsdWVHZXQgcmV0dXJucyBhbiBhcnJheSByZWZlcmVuY2UgZXhjZXB0IHdoZW4gdXNpbmcgdGVtcGxhdGUgdmFsdWUKICAgIGlmICggcmVmICRWYWx1ZSBuZSAnQVJSQVknICkgewogICAgICAgICRWYWx1ZSA9IFskVmFsdWVdOwogICAgfQoKICAgIGlmICggJFBhcmFte01hbmRhdG9yeX0gJiYgISRWYWx1ZS0+QCogKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgU2VydmVyRXJyb3IgPT4gMSwKICAgICAgICB9OwogICAgfQoKICAgIGZvciBteSAkVmFsdWVJdGVtICggQHskVmFsdWV9ICkgewoKICAgICAgICAjIHBlcmZvcm0gbmVjZXNzYXJ5IHZhbGlkYXRpb25zCiAgICAgICAgaWYgKCAkUGFyYW17TWFuZGF0b3J5fSAmJiAhJFZhbHVlSXRlbSApIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIFNlcnZlckVycm9yID0+IDEsCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgfQoKICAgICMgcmV0dXJuIHJlc3VsdGluZyBzdHJ1Y3R1cmUKICAgIHJldHVybiB7CiAgICAgICAgU2VydmVyRXJyb3IgPT4gJFNlcnZlckVycm9yLAogICAgfTsKfQoKc3ViIERpc3BsYXlWYWx1ZVJlbmRlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWN0aXZhdGUgSFRNTE91dHB1dCB3aGVuIGl0IHdhc24ndCBzcGVjaWZpZWQKICAgIG15ICRIVE1MT3V0cHV0ID0gJFBhcmFte0hUTUxPdXRwdXR9IC8vIDE7CgogICAgIyBnZXQgcmF3IFZhbHVlIHN0cmluZ3MgZnJvbSBmaWVsZCB2YWx1ZQogICAgbXkgQFZhbHVlcyA9ICFyZWYgJFBhcmFte1ZhbHVlfQogICAgICAgID8gKCAkUGFyYW17VmFsdWV9ICkKICAgICAgICA6IHNjYWxhciAkUGFyYW17VmFsdWV9LT5AKiA/ICRQYXJhbXtWYWx1ZX0tPkAqCiAgICAgICAgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJycpOwoKICAgICRQYXJhbXtWYWx1ZU1heENoYXJzfSB8fD0gJyc7CiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgbXkgJEV4dGVuZGVkVmFsdWUgPSAwOwogICAgaWYgKCAkUGFyYW17TGF5b3V0T2JqZWN0fSApIHsKICAgICAgICBteSAlRXh0ZW5kZWRWYWx1ZUFjdGlvbnMgPSAoCiAgICAgICAgICAgICdBZ2VudElUU01Db25maWdJdGVtWm9vbScgICAgPT4gMSwKICAgICAgICAgICAgJ0FnZW50VGlja2V0Wm9vbScgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICAnQ3VzdG9tZXJJVFNNQ29uZmlnSXRlbVpvb20nID0+IDEsCiAgICAgICAgICAgICdDdXN0b21lclRpY2tldFpvb20nICAgICAgICAgPT4gMSwKICAgICAgICApOwogICAgICAgICRFeHRlbmRlZFZhbHVlID0gJEV4dGVuZGVkVmFsdWVBY3Rpb25zeyRQYXJhbXtMYXlvdXRPYmplY3R9e0FjdGlvbn19ID8gMSA6IDA7CiAgICB9CgojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgIG15IEBSZWFkYWJsZVZhbHVlczsKICAgIG15IEBSZWFkYWJsZVRpdGxlczsKCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgIyBvbmx5IGluaXRpYWxpemUgb2JqZWN0IGlmIG5lY2Nlc3NhcnkgaW4gYW4gYXR0ZW1wdCB0byByZWR1Y2UgZGF0YWJhc2UgdHJhZmZpYwogICAgbXkgJER5bmFtaWNGaWVsZERCT2JqZWN0OwogICAgbXkgJEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0R5bmFtaWNGaWVsZERCOjpFeHRlbmRlZFZhbHVlU3RydWN0dXJlJyk7CiAgICBteSBASGVhZGVycyA9ICgnR2VuZXJhbCcpOwogICAgaWYgKCAkRXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSAmJiAkRXh0ZW5kZWRWYWx1ZSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+T2JqZWN0UGFyYW1BZGQoCiAgICAgICAgICAgICdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkREInID0+IHsKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgICREeW5hbWljRmllbGREQk9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGREQicpOwoKICAgICAgICAjIGJ1aWxkIGhlYWRlciBsaXN0CiAgICAgICAgbXkgJERpc3BsYXlmaWVsZEhlYWRlcnMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0R5bmFtaWNGaWVsZERCOjpEaXNwbGF5ZmllbGRIZWFkZXJzJyk7CiAgICAgICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoJERpc3BsYXlmaWVsZEhlYWRlcnMpICkgewogICAgICAgICAgICBASGVhZGVycyA9IHVuaXEgKEBIZWFkZXJzLCAkRGlzcGxheWZpZWxkSGVhZGVycy0+QCopOwogICAgICAgIH0KICAgIH0KCiAgICAjIGZsYWcgaWYgaGVhZGVycyB3ZXJlIGFjdHVhbGx5IHVzZWQsIHRvIGJlIGFibGUgdG8gbWFpbnRhaW4gc3RhbmRhcmQgYmVoYXZpb3IgaWYgbm90CiAgICBteSAkSGVhZGVyc1VzZWQgPSAwOwogICAgbXkgJUhlYWRlcmZpZWxkc0hhc2g7CgogICAgIyBzZXQgaGVhZGVycyB1c2VkIGZsYWcKICAgIGlmICggJEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgKSB7CiAgICAgICAgSEVBREVSOgogICAgICAgIGZvciBteSAkSGVhZGVyICggQEhlYWRlcnMgKSB7CgogICAgICAgICAgICAjIGNvbGxlY3QgZmllbGRzIGFzc29jaWF0ZWQgdG8gY3VycmVudCBoZWFkZXIKICAgICAgICAgICAgbXkgQEhlYWRlcmZpZWxkczsKCiAgICAgICAgICAgICMgYXJyYXkgZm9yIGNvbGxlY3Rpbmcgc3RyaW5ncyBwZXIgaGVhZGVyIGZpZWxkCiAgICAgICAgICAgIERJU1BMQVlGSUVMRDoKICAgICAgICAgICAgZm9yIG15ICRDb3VudGVyICggMSAuLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntQb3NzaWJsZVZhbHVlc30tPntWYWx1ZUNvdW50ZXJ9ICkgewoKICAgICAgICAgICAgICAgIG5leHQgRElTUExBWUZJRUxEIHVubGVzcyAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntQb3NzaWJsZVZhbHVlc30tPnsiRGlzcGxheWZpZWxkXyRDb3VudGVyIn07CgoKICAgICAgICAgICAgICAgICMgTk9URSB1c2luZyAkSGVhZGVyIGZvciBjb21wYXJpc29uIGluc3RlYWQgb2YgJFNhbml0aXplZEhlYWRlciBiZWNhdXNlIHNlbGVjdGVkIGhlYWRlcnMgYXJlIG5vdCBzYW5pdGl6ZWQgaW4gQWRtaW5EeW5hbWljRmllbGREQgogICAgICAgICAgICAgICAgaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntQb3NzaWJsZVZhbHVlc30tPnsiRGlzcGxheWZpZWxkXyRDb3VudGVyIn0gZXEgJEhlYWRlciApIHsKICAgICAgICAgICAgICAgICAgICBwdXNoIEBIZWFkZXJmaWVsZHMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntQb3NzaWJsZVZhbHVlc30tPnsiRmllbGRMYWJlbF8kQ291bnRlciJ9LAogICAgICAgICAgICAgICAgICAgICAgICBUeXBlID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfS0+e1Bvc3NpYmxlVmFsdWVzfS0+eyJGaWVsZERhdGF0eXBlXyRDb3VudGVyIn0sCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBza2lwIGhlYWRlcnMgd2l0aCBubyBhc3NvY2lhdGVkIGZpZWxkcwogICAgICAgICAgICBuZXh0IEhFQURFUiB1bmxlc3MgQEhlYWRlcmZpZWxkczsKCiAgICAgICAgICAgICRIZWFkZXJzVXNlZCA9IDE7CiAgICAgICAgICAgICRIZWFkZXJmaWVsZHNIYXNoeyRIZWFkZXJ9ID0gXEBIZWFkZXJmaWVsZHM7CiAgICAgICAgfQogICAgfQojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgIGZvciBteSAkVmFsdWVJdGVtIChAVmFsdWVzKSB7CiAgICAgICAgJFZhbHVlSXRlbSAvLz0gJyc7CgogICAgICAgICMgc2V0IHRpdGxlIGFzIHZhbHVlIGFmdGVyIHVwZGF0ZSBhbmQgYmVmb3JlIGxpbWl0CiAgICAgICAgcHVzaCBAUmVhZGFibGVUaXRsZXMsICRWYWx1ZUl0ZW07CgogICAgICAgICMgSFRNTCBPdXRwdXQgdHJhbnNmb3JtYXRpb24KICAgICAgICBpZiAoJEhUTUxPdXRwdXQpIHsKCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwojICAgICAgICAgICAgICRWYWx1ZUl0ZW0gPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+QXNjaWkySHRtbCgKIyAgICAgICAgICAgICAgICAgVGV4dCA9PiAkVmFsdWVJdGVtLAojICAgICAgICAgICAgICAgICBNYXggID0+ICRQYXJhbXtWYWx1ZU1heENoYXJzfSwKIyAgICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICRFeHRlbmRlZFZhbHVlU3RydWN0dXJlICYmICRFeHRlbmRlZFZhbHVlICkgewogICAgICAgICAgICAgICAgbXkgJFRlbXBsYXRlRmlsZSA9ICcnOwogICAgICAgICAgICAgICAgbXkgJEludGVyZmFjZSA9ICRQYXJhbXtMYXlvdXRPYmplY3R9e1Nlc3Npb25Tb3VyY2V9IC8vICcnOwogICAgICAgICAgICAgICAgaWYgKCAkUGFyYW17TGF5b3V0T2JqZWN0fXtTZXNzaW9uU291cmNlfSApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoICRQYXJhbXtMYXlvdXRPYmplY3R9e1Nlc3Npb25Tb3VyY2V9IGVxICdBZ2VudEludGVyZmFjZScgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRUZW1wbGF0ZUZpbGUgPSAnRHluYW1pY0ZpZWxkL0FnZW50L0Jhc2VEYXRhYmFzZURpc3BsYXlWYWx1ZSc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2lmICggJFBhcmFte0xheW91dE9iamVjdH17U2Vzc2lvblNvdXJjZX0gZXEgJ0N1c3RvbWVySW50ZXJmYWNlJyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFRlbXBsYXRlRmlsZSA9ICdEeW5hbWljRmllbGQvQ3VzdG9tZXIvQmFzZURhdGFiYXNlRGlzcGxheVZhbHVlJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBmZXRjaCBjYWNoZWQgUmVhZGFibGVWYWx1ZSBmb3IgaXRlbQogICAgICAgICAgICAgICAgIyBOT1RFICRWYWx1ZUl0ZW0gaXMgdGhlIFBvc3NpYmxlVmFsdWVzIGVsZW1lbnQgbWFya2VkIGFzIElkZW50aWZpZXIKICAgICAgICAgICAgICAgIG15ICRDYWNoZWREYXRhID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkdldCgKICAgICAgICAgICAgICAgICAgICBUeXBlID0+ICdEeW5hbWljRmllbGREQicsCiAgICAgICAgICAgICAgICAgICAgS2V5ICA9PiAiJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntJRH0tJEludGVyZmFjZS0kVmFsdWVJdGVtIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBpZiAoICRDYWNoZWREYXRhICkgewogICAgICAgICAgICAgICAgICAgICRWYWx1ZUl0ZW0gPSAkQ2FjaGVkRGF0YTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewoKICAgICAgICAgICAgICAgICAgICAjIHBlcmZvcm0gZGF0YWJhc2Ugc2VhcmNoCiAgICAgICAgICAgICAgICAgICAgIyBOT1RFIHVzaW5nIERhdGFiYXNlU2VhcmNoRGV0YWlscyB0byBiZSBhYmxlIHRvIHJlc3RyaWN0IHNlYXJjaCB0byBpZGVudGlmaWVyCiAgICAgICAgICAgICAgICAgICAgbXkgJFNlYXJjaFJlc3VsdCA9ICREeW5hbWljRmllbGREQk9iamVjdC0+RGF0YWJhc2VTZWFyY2hEZXRhaWxzKAogICAgICAgICAgICAgICAgICAgICAgICBDb25maWcgICAgID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfSwKICAgICAgICAgICAgICAgICAgICAgICAgSWRlbnRpZmllciA9PiAkVmFsdWVJdGVtLAogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgICMgYXJyYXkgZm9yIGNvbGxlY3Rpbmcgc3RyaW5ncyBwZXIgaGVhZGVyCiAgICAgICAgICAgICAgICAgICAgSEVBREVSOgogICAgICAgICAgICAgICAgICAgIGZvciBteSAkSGVhZGVyICggQEhlYWRlcnMgKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBuZXh0IEhFQURFUiB1bmxlc3MgSXNBcnJheVJlZldpdGhEYXRhKCRIZWFkZXJmaWVsZHNIYXNoeyRIZWFkZXJ9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMgc2FuaXRpemUgaGVhZGVyCiAgICAgICAgICAgICAgICAgICAgICAgIG15ICRTYW5pdGl6ZWRIZWFkZXIgPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHQgPT4gJEhlYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCAgPT4gJFBhcmFte1ZhbHVlTWF4Q2hhcnN9IHx8ICcnLAogICAgICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICAgICAgJFBhcmFte0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnSGVhZGVyU2VjdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWFkZXJOYW1lID0+ICRTYW5pdGl6ZWRIZWFkZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICAgICAgIyBkbyBub3QgcHJpbnQgaGVhZGVyIGZvciBHZW5lcmFsCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggJFNhbml0aXplZEhlYWRlciBuZSAnR2VuZXJhbCcgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkUGFyYW17TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnSGVhZGVyRWxlbWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlYWRlck5hbWUgPT4gJFNhbml0aXplZEhlYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG15ICRGaWVsZCAoICRIZWFkZXJmaWVsZHNIYXNoeyRIZWFkZXJ9LT5AKiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICgkUmVzdWx0SXRlbSkgPSBncmVwIHsgJF8tPntMYWJlbH0gZXEgJEZpZWxkLT57TmFtZX0gfSAkU2VhcmNoUmVzdWx0LT5AKjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRWYWx1ZUl0ZW0gPSAkUmVzdWx0SXRlbS0+e0RhdGF9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAkRmllbGQtPntUeXBlfSBlcSAnREFURScgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFZhbHVlSXRlbSA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT57TGFuZ3VhZ2VPYmplY3R9LT5Gb3JtYXRUaW1lU3RyaW5nKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkVmFsdWVJdGVtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRGF0ZUZvcm1hdFNob3J0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc2FuaXRpemUgZmllbGQgZGF0YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJENsZWFuZWREYXRhID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGV4dCA9PiAkVmFsdWVJdGVtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCAgPT4gJFBhcmFte1ZhbHVlTWF4Q2hhcnN9IHx8ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRQYXJhbXtMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdWYWx1ZUVsZW1lbnQnICwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSAgICAgICAgPT4gJFZhbHVlSXRlbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xlYW5lZERhdGEgPT4gJENsZWFuZWREYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAjIG92ZXJ3cml0ZSBSZWFkYWJsZVZhbHVlIGFuZCBzZXQgY2FjaGUKICAgICAgICAgICAgICAgICAgICBpZiAoICRIZWFkZXJzVXNlZCApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIG15ICRIZWFkZXJTdHJpbmcgPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICRUZW1wbGF0ZUZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgICAgICAjIE5PVEUgJFZhbHVlSXRlbSBpcyB0aGUgUG9zc2libGVWYWx1ZXMgZWxlbWVudCBtYXJrZWQgYXMgSWRlbnRpZmllcgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfS0+e0NhY2hlVFRMfSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5TZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgPT4gJ0R5bmFtaWNGaWVsZERCJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXkgICA9PiAiJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntJRH0tJEludGVyZmFjZS0kVmFsdWVJdGVtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZSA9PiAkSGVhZGVyU3RyaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRUTCAgID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfS0+e0NhY2hlVFRMfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICRWYWx1ZUl0ZW0gPSAkSGVhZGVyU3RyaW5nOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaWYgKCAkUGFyYW17VmFsdWVNYXhDaGFyc30gJiYgbGVuZ3RoKCRWYWx1ZUl0ZW0pID4gJFBhcmFte1ZhbHVlTWF4Q2hhcnN9ICkgewogICAgICAgICAgICAgICAgJFZhbHVlSXRlbSA9IHN1YnN0ciggJFZhbHVlSXRlbSwgMCwgJFBhcmFte1ZhbHVlTWF4Q2hhcnN9ICkgLiAnLi4uJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVzaCBAUmVhZGFibGVWYWx1ZXMsICRWYWx1ZUl0ZW07CiAgICB9CgogICAgbXkgJFZhbHVlU2VwYXJhdG9yOwogICAgbXkgJFRpdGxlID0gam9pbiggJywgJywgQFJlYWRhYmxlVGl0bGVzICk7CgogICAgIyBIVE1MT3V0cHV0IHRyYW5zZm9ybWF0aW9ucwogICAgaWYgKCRIVE1MT3V0cHV0KSB7CiAgICAgICAgJFRpdGxlID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgICAgIFRleHQgPT4gJFRpdGxlLAogICAgICAgICAgICBNYXggID0+ICRQYXJhbXtUaXRsZU1heENoYXJzfSB8fCAnJywKICAgICAgICApOwogICAgICAgICRWYWx1ZVNlcGFyYXRvciA9ICc8YnIvPic7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBpZiAoICRQYXJhbXtUaXRsZU1heENoYXJzfSAmJiBsZW5ndGgoJFRpdGxlKSA+ICRQYXJhbXtUaXRsZU1heENoYXJzfSApIHsKICAgICAgICAgICAgJFRpdGxlID0gc3Vic3RyKCAkVGl0bGUsIDAsICRQYXJhbXtUaXRsZU1heENoYXJzfSApIC4gJy4uLic7CiAgICAgICAgfQogICAgICAgICRWYWx1ZVNlcGFyYXRvciA9ICJcbiI7CiAgICB9CiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgIG15ICRWYWx1ZVN0cmcgPSAnJzsKICAgIGlmICggJEhlYWRlcnNVc2VkICYmICRQYXJhbXtMYXlvdXRPYmplY3R9e1Nlc3Npb25Tb3VyY2V9ICYmICRQYXJhbXtMYXlvdXRPYmplY3R9e1Nlc3Npb25Tb3VyY2V9IGVxICdBZ2VudEludGVyZmFjZScgKSB7CiAgICAgICAgJFZhbHVlU3RyZyA9ICc8ZGl2IGNsYXNzPSJEeW5hbWljRmllbGREQkV4dGVuZGVkVmFsdWUiPicgLiBqb2luKCAkVmFsdWVTZXBhcmF0b3IsIEBSZWFkYWJsZVZhbHVlcyApIC4gJzwvZGl2Pic7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkVmFsdWVTdHJnID0gJycgLiBqb2luKCAkVmFsdWVTZXBhcmF0b3IsIEBSZWFkYWJsZVZhbHVlcyApOwogICAgfQojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgICMgc2V0IGZpZWxkIGxpbmsgZnJvbSBjb25maWcKICAgIG15ICRMaW5rICAgICAgICA9ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfS0+e0xpbmt9ICAgICAgICB8fCAnJzsKICAgIG15ICRMaW5rUHJldmlldyA9ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfS0+e0xpbmtQcmV2aWV3fSB8fCAnJzsKCiAgICAjIHJldHVybiBhIGRhdGEgc3RydWN0dXJlCiAgICByZXR1cm4gewojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKIyAgICAgICAgIFZhbHVlICAgICAgID0+ICcnIC4gam9pbiggJFZhbHVlU2VwYXJhdG9yLCBAUmVhZGFibGVWYWx1ZXMgKSwKICAgICAgICBWYWx1ZSAgICAgICA9PiAkVmFsdWVTdHJnLAojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgIFRpdGxlICAgICAgID0+ICcnIC4gJFRpdGxlLAogICAgICAgIExpbmsgICAgICAgID0+ICRMaW5rLAogICAgICAgIExpbmtQcmV2aWV3ID0+ICRMaW5rUHJldmlldywKICAgICAgICBDbGFzcyAgICAgICA9PiAnRHluYW1pY0ZpZWxkVHlwZV9EYXRhYmFzZScsCiAgICB9Owp9CgpzdWIgU2VhcmNoRmllbGRSZW5kZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHRha2UgY29uZmlnIGZyb20gZmllbGQgY29uZmlnCiAgICBteSAkRmllbGROYW1lICAgICAgICAgPSAnU2VhcmNoX0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICAgICAgICA9ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TGFiZWx9OwogICAgbXkgJEZpZWxkTGFiZWxFc2NhcGVkID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgVGV4dCA9PiAkUGFyYW17TGF5b3V0T2JqZWN0fXtMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgkRmllbGRMYWJlbCksCiAgICApOwoKICAgICMgc2V0IHRoZSBmaWVsZCB2YWx1ZQogICAgbXkgJFZhbHVlID0gKCBkZWZpbmVkICRQYXJhbXtEZWZhdWx0VmFsdWV9ID8gJFBhcmFte0RlZmF1bHRWYWx1ZX0gOiAnJyApOwoKICAgICMgZ2V0IHRoZSBmaWVsZCB2YWx1ZSwgdGhpcyBmdW5jdGlvbiBpcyBhbHdheXMgY2FsbGVkIGFmdGVyIHRoZSBwcm9maWxlIGlzIGxvYWRlZAogICAgbXkgJEZpZWxkVmFsdWUgPSAkU2VsZi0+U2VhcmNoRmllbGRWYWx1ZUdldCglUGFyYW0pOwoKICAgICMgc2V0IHZhbHVlcyBmcm9tIHByb2ZpbGUgaWYgcHJlc2VudAogICAgaWYgKCBkZWZpbmVkICRGaWVsZFZhbHVlICkgewogICAgICAgICRWYWx1ZSA9ICRGaWVsZFZhbHVlOwogICAgfQoKICAgICMgY2hlY2sgaWYgdmFsdWUgaXMgYW4gYXJyYXkgcmVmZXJlbmNlIChHZW5lcmljQWdlbnQgSm9icyBhbmQgTm90aWZpY2F0aW9uRXZlbnRzKQogICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoJFZhbHVlKSApIHsKICAgICAgICAkVmFsdWUgPSBAeyRWYWx1ZX1bMF07CiAgICB9CgogICAgIyBjaGVjayBhbmQgc2V0IGNsYXNzIGlmIG5lY2Vzc2FyeQogICAgbXkgJEZpZWxkQ2xhc3MgPSAnRHluYW1pY0ZpZWxkREInOwoKICAgIG15ICRIVE1MU3RyaW5nID0gPDwiRU9GIjsKPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSIkRmllbGRDbGFzcyIgaWQ9IiR7RmllbGROYW1lfSIgbmFtZT0iJHtGaWVsZE5hbWV9IiB0aXRsZT0iJEZpZWxkTGFiZWxFc2NhcGVkIiB2YWx1ZT0iJFZhbHVlIiAvPgpFT0YKCiAgICBteSAkQWRkaXRpb25hbFRleHQ7CiAgICBpZiAoICRQYXJhbXtVc2VMYWJlbEhpbnRzfSApIHsKICAgICAgICAkQWRkaXRpb25hbFRleHQgPSAnZS5nLiBUZXh0IG9yIFRlKnQnOwogICAgfQoKICAgICMgY2FsbCBFZGl0TGFiZWxSZW5kZXIgb24gdGhlIGNvbW1vbiBEcml2ZXIKICAgIG15ICRMYWJlbFN0cmluZyA9ICRTZWxmLT5FZGl0TGFiZWxSZW5kZXIoCiAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LAogICAgICAgIExheW91dE9iamVjdCAgICAgICA9PiAkUGFyYW17TGF5b3V0T2JqZWN0fSwKICAgICAgICBGaWVsZE5hbWUgICAgICAgICAgPT4gJEZpZWxkTmFtZSwKICAgICAgICBBZGRpdGlvbmFsVGV4dCAgICAgPT4gJEFkZGl0aW9uYWxUZXh0LAogICAgKTsKCiAgICByZXR1cm4gewogICAgICAgIEZpZWxkID0+ICRIVE1MU3RyaW5nLAogICAgICAgIExhYmVsID0+ICRMYWJlbFN0cmluZywKICAgIH07Cn0KCnN1YiBTZWFyY2hGaWVsZFZhbHVlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFZhbHVlOwoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgdmFsdWUgZnJvbSBwYXJhbSBvYmplY3QKICAgIGlmICggZGVmaW5lZCAkUGFyYW17UGFyYW1PYmplY3R9ICkgewogICAgICAgICRWYWx1ZSA9ICRQYXJhbXtQYXJhbU9iamVjdH0tPkdldFBhcmFtKAogICAgICAgICAgICBQYXJhbSA9PiAnU2VhcmNoX0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfQogICAgICAgICk7CiAgICB9CgogICAgIyBvdGhlcndpc2UgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBwcm9maWxlCiAgICBlbHNpZiAoIGRlZmluZWQgJFBhcmFte1Byb2ZpbGV9ICkgewogICAgICAgICRWYWx1ZSA9ICRQYXJhbXtQcm9maWxlfS0+eyAnU2VhcmNoX0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfSB9OwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICggZGVmaW5lZCAkUGFyYW17UmV0dXJuUHJvZmlsZVN0cnVjdHVyZX0gJiYgJFBhcmFte1JldHVyblByb2ZpbGVTdHJ1Y3R1cmV9IGVxIDEgKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJ1NlYXJjaF9EeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX0gPT4gJFZhbHVlLAogICAgICAgIH07CiAgICB9CgogICAgcmV0dXJuICRWYWx1ZTsKfQoKc3ViIFNlYXJjaEZpZWxkUGFyYW1ldGVyQnVpbGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBmaWVsZCB2YWx1ZQogICAgbXkgJFZhbHVlID0gJFNlbGYtPlNlYXJjaEZpZWxkVmFsdWVHZXQoJVBhcmFtKTsKCiAgICAjIHNldCBvcGVyYXRvcgogICAgbXkgJE9wZXJhdG9yID0gJ0VxdWFscyc7CgogICAgIyBzZWFyY2ggZm9yIGEgd2lsZCBjYXJkIGluIHRoZSB2YWx1ZQogICAgaWYgKCAkVmFsdWUgJiYgJFZhbHVlID1+IG17XCp9ICkgewoKICAgICAgICAjIGNoYW5nZSBvcGVyYXRvcgogICAgICAgICRPcGVyYXRvciA9ICdMaWtlJzsKICAgIH0KCiAgICAjIHJldHVybiBzZWFyY2ggcGFyYW1ldGVyIHN0cnVjdHVyZQogICAgcmV0dXJuIHsKICAgICAgICBQYXJhbWV0ZXIgPT4gewogICAgICAgICAgICAkT3BlcmF0b3IgPT4gJFZhbHVlLAogICAgICAgIH0sCiAgICAgICAgRGlzcGxheSA9PiAkVmFsdWUsCiAgICB9Owp9CgpzdWIgU3RhdHNGaWVsZFBhcmFtZXRlckJ1aWxkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuIHsKICAgICAgICBOYW1lICAgID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TGFiZWx9LAogICAgICAgIEVsZW1lbnQgPT4gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfSwKICAgIH07Cn0KCnN1YiBTdGF0c1NlYXJjaEZpZWxkUGFyYW1ldGVyQnVpbGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkVmFsdWUgPSAkUGFyYW17VmFsdWV9OwoKICAgICMgc2V0IG9wZXJhdG9yCiAgICBteSAkT3BlcmF0b3IgPSAnRXF1YWxzJzsKCiAgICAjIHNlYXJjaCBmb3IgYSB3aWxkIGNhcmQgaW4gdGhlIHZhbHVlCiAgICBpZiAoICRWYWx1ZSAmJiAkVmFsdWUgPX4gbXtcKn0gKSB7CgogICAgICAgICMgY2hhbmdlIG9wZXJhdG9yCiAgICAgICAgJE9wZXJhdG9yID0gJ0xpa2UnOwogICAgfQoKICAgIHJldHVybiB7CiAgICAgICAgJE9wZXJhdG9yID0+ICRWYWx1ZSwKICAgIH07Cn0KCnN1YiBSZWFkYWJsZVZhbHVlUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBzZXQgVmFsdWUgYW5kIFRpdGxlIHZhcmlhYmxlcwogICAgbXkgJFZhbHVlID0gJyc7CiAgICBteSAkVGl0bGUgPSAnJzsKCiAgICAjIGNoZWNrIHZhbHVlCiAgICBteSBAVmFsdWVzOwogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlfSBlcSAnQVJSQVknICkgewogICAgICAgIEBWYWx1ZXMgPSBAeyAkUGFyYW17VmFsdWV9IH07CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBAVmFsdWVzID0gKCAkUGFyYW17VmFsdWV9ICk7CiAgICB9CgogICAgIyBwcmV2ZW50IGpvaW5pbmcgdW5kZWZpbmVkIHZhbHVlcwogICAgQFZhbHVlcyA9IG1hcCB7ICRfIC8vICcnIH0gQFZhbHVlczsKCiAgICAjIHNldCBuZXcgbGluZSBzZXBhcmF0b3IKICAgIG15ICRJdGVtU2VwYXJhdG9yID0gJywgJzsKCiAgICAjIE91dHB1dCB0cmFuc2Zvcm1hdGlvbnMKICAgICRWYWx1ZSA9IGpvaW4gJEl0ZW1TZXBhcmF0b3IsIEBWYWx1ZXM7CgogICAgIyBwcmVwYXJlIHRpdGxlCiAgICAkVGl0bGUgPSAkVmFsdWU7CgogICAgaWYgKCAkUGFyYW17VGl0bGVNYXhDaGFyc30gJiYgbGVuZ3RoICRUaXRsZSA+ICRQYXJhbXtUaXRsZU1heENoYXJzfSApIHsKICAgICAgICAkVGl0bGUgPSBzdWJzdHIoICRUaXRsZSwgMCwgJFBhcmFte1RpdGxlTWF4Q2hhcnN9ICkgLiAnLi4uJzsKICAgIH0KCiAgICAjIHJldHVybiBhIGRhdGEgc3RydWN0dXJlCiAgICByZXR1cm4gewogICAgICAgIFZhbHVlID0+ICRWYWx1ZSwKICAgICAgICBUaXRsZSA9PiAkVGl0bGUsCiAgICB9Owp9CgpzdWIgVGVtcGxhdGVWYWx1ZVR5cGVHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkRmllbGROYW1lID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKCiAgICAjIHNldCB0aGUgZmllbGQgdHlwZXMKICAgIG15ICRFZGl0VmFsdWVUeXBlICAgPSAnU0NBTEFSJzsKICAgIG15ICRTZWFyY2hWYWx1ZVR5cGUgPSAnU0NBTEFSJzsKCiAgICAjIHJldHVybiB0aGUgY29ycmVjdCBzdHJ1Y3R1cmUKICAgIGlmICggJFBhcmFte0ZpZWxkVHlwZX0gZXEgJ0VkaXQnICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICRGaWVsZE5hbWUgPT4gJEVkaXRWYWx1ZVR5cGUsCiAgICAgICAgfTsKICAgIH0KICAgIGVsc2lmICggJFBhcmFte0ZpZWxkVHlwZX0gZXEgJ1NlYXJjaCcgKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJ1NlYXJjaF8nIC4gJEZpZWxkTmFtZSA9PiAkU2VhcmNoVmFsdWVUeXBlLAogICAgICAgIH07CiAgICB9CiAgICBlbHNlIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICAkRmllbGROYW1lICAgICAgICAgICAgID0+ICRFZGl0VmFsdWVUeXBlLAogICAgICAgICAgICAnU2VhcmNoXycgLiAkRmllbGROYW1lID0+ICRTZWFyY2hWYWx1ZVR5cGUsCiAgICAgICAgfTsKICAgIH0KfQoKc3ViIFJhbmRvbVZhbHVlU2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFZhbHVlID0gaW50KCByYW5kKDUwMCkgKTsKCiAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT5WYWx1ZVNldCgKICAgICAgICAlUGFyYW0sCiAgICAgICAgVmFsdWUgPT4gJFZhbHVlLAogICAgKTsKCiAgICBpZiAoICEkU3VjY2VzcyApIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBTdWNjZXNzID0+IDAsCiAgICAgICAgfTsKICAgIH0KICAgIHJldHVybiB7CiAgICAgICAgU3VjY2VzcyA9PiAxLAogICAgICAgIFZhbHVlICAgPT4gJFZhbHVlLAogICAgfTsKfQoKc3ViIE9iamVjdE1hdGNoIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJEZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CgogICAgIyByZXR1cm4gZmFsc2UgaWYgZmllbGQgaXMgbm90IGRlZmluZWQKICAgIHJldHVybiAwIGlmICggIWRlZmluZWQgJFBhcmFte09iamVjdEF0dHJpYnV0ZXN9LT57JEZpZWxkTmFtZX0gKTsKCiAgICAjIHJldHVybiBmYWxzZSBpZiBub3QgbWF0Y2gKICAgIGlmICggJFBhcmFte09iamVjdEF0dHJpYnV0ZXN9LT57JEZpZWxkTmFtZX0gbmUgJFBhcmFte1ZhbHVlfSApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKc3ViIEhpc3RvcmljYWxWYWx1ZXNHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHJldHVybiB0aGUgaGlzdG9yaWNhbCB2YWx1ZXMgZnJvbSBkYXRhYmFzZQogICAgcmV0dXJuICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZScpLT5IaXN0b3JpY2FsVmFsdWVHZXQoCiAgICAgICAgRmllbGRJRCAgID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57SUR9LAogICAgICAgIFZhbHVlVHlwZSA9PiAnVGV4dCcsCiAgICApOwp9CgpzdWIgVmFsdWVMb29rdXAgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gJFBhcmFte0tleX0gLy8gJyc7Cn0KCjE7Cg==</File>
        <File Location="Kernel/Config/Files/XML/DynamicFieldDatabaseExtensions.xml" Permission="660" Encode="Base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxvdG9ib19jb25maWcgdmVyc2lvbj0iMi4wIiBpbml0PSJBcHBsaWNhdGlvbiI+CiAgICA8U2V0dGluZyBOYW1lPSJEeW5hbWljRmllbGREQjo6RXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BY3RpdmF0ZSBvciBkZWFjdGl2YXRlIHRoZSBleHRlbmRlZCB2YWx1ZSBzdHJ1Y3R1cmUgZmVhdHVyZSBmb3IgZHluYW1pYyBmaWVsZHMgb2YgdHlwZSBkYXRhYmFzZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlRpY2tldDwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iQ2hlY2tib3giPjE8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkR5bmFtaWNGaWVsZERCOjpEaXNwbGF5ZmllbGRIZWFkZXJzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZSBhIGxpc3Qgb2YgaGVhZGVycyB0byBncm91cCBkeW5hbWljIGZpZWxkIGRhdGFiYXNlIHBvc3NpYmxlIHZhbHVlcyBieS4gTm90aWNlOiBIZWFkZXIgJ0dlbmVyYWwnIGlzIGFsd2F5cyBhZGRlZCBpZiBub3QgZGVmaW5lZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlRpY2tldDwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iTG9hZGVyOjpNb2R1bGU6OkFnZW50VGlja2V0Wm9vbSMjIzAwMy1EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMuVGlja2V0Wm9vbS5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJMb2FkZXI6Ok1vZHVsZTo6Q3VzdG9tZXJUaWNrZXRab29tIyMjMDAzLUR5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Mb2FkZXIgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpDdXN0b21lcjo6TW9kdWxlUmVnaXN0cmF0aW9uOjpMb2FkZXI8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ1NTIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPkR5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucy5UaWNrZXRab29tLmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpBZ2VudElUU01Db25maWdJdGVtWm9vbSMjIzAwMy1EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMuSVRTTUNvbmZpZ0l0ZW1ab29tLmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpDdXN0b21lcklUU01Db25maWdJdGVtWm9vbSMjIzAwMy1EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6Q3VzdG9tZXI6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMuSVRTTUNvbmZpZ0l0ZW1ab29tLmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KPC9vdG9ib19jb25maWc+Cg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/DynamicField/Agent/BaseDatabaseDisplayValue.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgo8cCBjbGFzcz0iVmFsdWUgRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiSGVhZGVyU2VjdGlvbiIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIkhlYWRlckVsZW1lbnQiKSAlXQogICAgPGIgY2xhc3M9IkR5bmFtaWNGaWVsZERCRXh0ZW5kZWRWYWx1ZSI+WyUgRGF0YS5IZWFkZXJOYW1lIHwgaHRtbCAlXTwvYj4KICAgIDxici8+ClslIFJlbmRlckJsb2NrRW5kKCJIZWFkZXJFbGVtZW50IikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiVmFsdWVFbGVtZW50IikgJV0KICAgIDxzcGFuIGNsYXNzPSJEeW5hbWljRmllbGREQkV4dGVuZGVkVmFsdWUiIHRpdGxlPSJbJSBEYXRhLkRhdGEgfCBodG1sICVdIj5bJSBEYXRhLkNsZWFuZWREYXRhICVdPC9zcGFuPgogICAgPGJyLz4KWyUgUmVuZGVyQmxvY2tFbmQoIlZhbHVlRWxlbWVudCIpICVdClslIFJlbmRlckJsb2NrRW5kKCJIZWFkZXJTZWN0aW9uIikgJV0KPC9wPgo=</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/DynamicField/Customer/BaseDatabaseDisplayValue.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJIZWFkZXJTZWN0aW9uIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiSGVhZGVyRWxlbWVudCIpICVdCiAgICA8YiBjbGFzcz0iRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIj5bJSBEYXRhLkhlYWRlck5hbWUgfCBodG1sICVdPC9iPgpbJSBSZW5kZXJCbG9ja0VuZCgiSGVhZGVyRWxlbWVudCIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlZhbHVlRWxlbWVudCIpICVdCiAgICA8c3BhbiBjbGFzcz0iRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIiB0aXRsZT0iWyUgRGF0YS5EYXRhIHwgaHRtbCAlXSI+WyUgRGF0YS5DbGVhbmVkRGF0YSAlXTwvc3Bhbj4KWyUgUmVuZGVyQmxvY2tFbmQoIlZhbHVlRWxlbWVudCIpICVdClslIFJlbmRlckJsb2NrRW5kKCJIZWFkZXJTZWN0aW9uIikgJV0K</File>
        <File Location="scripts/test/DynamicField/DynamicFieldDBExtensions.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCiMgY29yZSBtb2R1bGVzCgojIENQQU4gbW9kdWxlcwp1c2UgVGVzdDI6OlYwOwoKIyBPVE9CTyBtb2R1ZWxlcwp1c2UgS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpSZWdpc3RlckRyaXZlcjsgICAgIyBTZXQgdXAgdGhlIHRlc3QgZHJpdmVyICRTZWxmIGFuZCAkS2VybmVsOjpPTQp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQ7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyhJc0FycmF5UmVmV2l0aERhdGEpOwoKIyBnZXQgaGVscGVyIG9iamVjdAokS2VybmVsOjpPTS0+T2JqZWN0UGFyYW1BZGQoCiAgICAnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInID0+IHsKICAgICAgICBSZXN0b3JlRGF0YWJhc2UgPT4gMSwKICAgIH0sCik7Cm15ICRIZWxwZXIgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicpOwoKbXkgJFJhbmRvbUlEID0gJEhlbHBlci0+R2V0UmFuZG9tTnVtYmVyKCk7Cm15ICRVc2VySUQgICA9IDE7CgpteSAkQ29uZmlnT2JqZWN0ICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKbXkgJER5bmFtaWNGaWVsZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKbXkgJEJhY2tlbmRPYmplY3QgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQnKTsKbXkgJExheW91dE9iamVjdCAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiMgRGVmaW5lIERCIHRlc3QgcGFyYW1ldGVycy4KbXkgJERCVHlwZSAgICAgPSAnJzsKbXkgJERCTmFtZSAgICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0RhdGFiYXNlJyk7Cm15ICREQlVzZXIgICAgID0gJENvbmZpZ09iamVjdC0+R2V0KCdEYXRhYmFzZVVzZXInKTsKbXkgJERCUGFzc3dvcmQgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0RhdGFiYXNlUHcnKTsKbXkgJERCU2VydmVyICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0RhdGFiYXNlSG9zdCcpOwoKIyBDaGVjayBpZiBEQiBpcyBNeVNRTCwgZmluaXNoIHRlc3QgaWYgaXQgaXMgbm90LgppZiAoICRDb25maWdPYmplY3QtPkdldCgnRGF0YWJhc2VEU04nKSA9fiAvXkRCSTpteXNxbC8gKSB7CiAgICAkREJUeXBlID0gJ215c3FsJzsKfQplbHNpZiAoICRDb25maWdPYmplY3QtPkdldCgnRGF0YWJhc2VEU04nKSA9fiAvXkRCSTpQZy8gKSB7CiAgICAkREJUeXBlID0gJ3Bvc3RncmVzcWwnOwp9CmVsc2lmICggJENvbmZpZ09iamVjdC0+R2V0KCdEYXRhYmFzZURTTicpID1+IC9eREJJOk9yYWNsZS8gKSB7CiAgICAkREJUeXBlID0gJ29yYWNsZSc7Cn0KZWxzZSB7CiAgICBza2lwX2FsbCgiRmluaXNoaW5nIHByZW1hdHVyZWx5IHRlc3QsIHVua25vd24gZGF0YWJhc2UgdHlwZSIpOwp9CgpteSAlUXVldWUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6UXVldWUnKS0+UXVldWVHZXQoCiAgICBJRCA9PiAxLAopOwoKIyBDcmVhdGUgdGlja2V0IGFzIG9iamVjdApteSAkVGlja2V0SUQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0JyktPlRpY2tldENyZWF0ZSgKICAgIFRpdGxlICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICBRdWV1ZSAgICA9PiAnUmF3JywgICAgICAgICAgICAgICAgICMgb3IgUXVldWVJRCA9PiAxMjMsCiAgICBMb2NrICAgICA9PiAndW5sb2NrJywKICAgIFByaW9yaXR5ID0+ICczIG5vcm1hbCcsCiAgICBTdGF0ZSAgICA9PiAnbmV3JywKICAgIE93bmVySUQgID0+ICRVc2VySUQsCiAgICBVc2VySUQgICA9PiAkVXNlcklELAopOwpvayggJFRpY2tldElELCAnVGlja2V0IHN1Y2Nlc3NmdWxseSBjcmVhdGVkJyApOwoKbXkgQFRlc3RDb25maWdzID0gKAogICAgewogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiB7CiAgICAgICAgICAgIENvbmZpZyA9PiB7CiAgICAgICAgICAgICAgICBDYWNoZVRUTCAgICAgICA9PiA4NjQwMCwKICAgICAgICAgICAgICAgIENhc2VTZW5zaXRpdmUgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgREJOYW1lICAgICAgICAgPT4gJERCTmFtZSwKICAgICAgICAgICAgICAgIERCVGFibGUgICAgICAgID0+ICJxdWV1ZSIsCiAgICAgICAgICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkREJUeXBlLAogICAgICAgICAgICAgICAgRHJpdmVyICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBJZGVudGlmaWVyICAgICA9PiAxLAogICAgICAgICAgICAgICAgTGluayAgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBMaW5rUHJldmlldyAgICA9PiAiIiwKICAgICAgICAgICAgICAgIE11bHRpc2VsZWN0ICAgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgUGFzc3dvcmQgICAgICAgPT4gJERCUGFzc3dvcmQsCiAgICAgICAgICAgICAgICBQb3J0ICAgICAgICAgICA9PiAiIiwKICAgICAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzID0+IHsKICAgICAgICAgICAgICAgICAgICBEaXNwbGF5ZmllbGRfMSAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRGlzcGxheWZpZWxkXzIgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIERpc3BsYXlmaWVsZF8zICA9PiAiIiwKICAgICAgICAgICAgICAgICAgICBEaXNwbGF5ZmllbGRfNCAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV8xID0+ICJJTlRFR0VSIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZERhdGF0eXBlXzIgPT4gIlRFWFQiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRGF0YXR5cGVfMyA9PiAiSU5URUdFUiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV80ID0+ICJEQVRFIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl8xICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRGaWx0ZXJfMiAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRmlsdGVyXzMgICA9PiAiIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl80ICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8xICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8yICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzMgICAgPT4gInZhbGlkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzQgICAgPT4gImNyZWF0ZSIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzEgICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzIgICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfMyAgICAgPT4gInZhbGlkX2lkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfNCAgICAgPT4gImNyZWF0ZV90aW1lIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMSAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMiAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMyAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfNCAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8xICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8yICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8zICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgU2VhcmNoZmllbGRfNCAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIFZhbHVlQ291bnRlciAgICA9PiA0LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFJlc3VsdExpbWl0ICA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHByZWZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHN1ZmZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlcnZlciAgICAgICA9PiAkREJTZXJ2ZXIsCiAgICAgICAgICAgICAgICBTSUQgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBUb29sdGlwICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBVc2VyICAgICAgICAgPT4gJERCVXNlciwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRmllbGRPcmRlciAgICA9PiAxLAogICAgICAgICAgICBGaWVsZFR5cGUgICAgID0+ICJEYXRhYmFzZSIsCiAgICAgICAgICAgIEludGVybmFsRmllbGQgPT4gMCwKICAgICAgICAgICAgTGFiZWwgICAgICAgICA9PiAiVGlja2V0REIwMCRSYW5kb21JRCIsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gIlRpY2tldERCMDAkUmFuZG9tSUQiLAogICAgICAgICAgICBPYmplY3RUeXBlICAgID0+ICJUaWNrZXQiLAogICAgICAgICAgICBSZW9yZGVyICAgICAgID0+IDAsCiAgICAgICAgICAgIFZhbGlkSUQgICAgICAgPT4gMSwKICAgICAgICB9LAogICAgICAgIFZhbHVlICAgICAgICA9PiAiMSIsCiAgICAgICAgRGlzcGxheVZhbHVlID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgICAgPT4gIkR5bmFtaWNGaWVsZFR5cGVfRGF0YWJhc2UiLAogICAgICAgICAgICBMaW5rICAgICAgICA9PiAiIiwKICAgICAgICAgICAgTGlua1ByZXZpZXcgPT4gIiIsCiAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICIxIiwKICAgICAgICAgICAgVmFsdWUgICAgICAgPT4gIjEiLAogICAgICAgIH0sCiAgICB9LAogICAgewogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiB7CiAgICAgICAgICAgIENvbmZpZyA9PiB7CiAgICAgICAgICAgICAgICBDYWNoZVRUTCAgICAgICA9PiA4NjQwMCwKICAgICAgICAgICAgICAgIENhc2VTZW5zaXRpdmUgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgREJOYW1lICAgICAgICAgPT4gJERCTmFtZSwKICAgICAgICAgICAgICAgIERCVGFibGUgICAgICAgID0+ICJxdWV1ZSIsCiAgICAgICAgICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkREJUeXBlLAogICAgICAgICAgICAgICAgRHJpdmVyICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBJZGVudGlmaWVyICAgICA9PiAxLAogICAgICAgICAgICAgICAgTGluayAgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBMaW5rUHJldmlldyAgICA9PiAiIiwKICAgICAgICAgICAgICAgIE11bHRpc2VsZWN0ICAgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgUGFzc3dvcmQgICAgICAgPT4gJERCUGFzc3dvcmQsCiAgICAgICAgICAgICAgICBQb3J0ICAgICAgICAgICA9PiAiIiwKICAgICAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzID0+IHsKICAgICAgICAgICAgICAgICAgICBEaXNwbGF5ZmllbGRfMSAgPT4gIkdlbmVyYWwiLAogICAgICAgICAgICAgICAgICAgIERpc3BsYXlmaWVsZF8yICA9PiAiR2VuZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgRGlzcGxheWZpZWxkXzMgID0+ICJIZWFkZXIwMCIsCiAgICAgICAgICAgICAgICAgICAgRGlzcGxheWZpZWxkXzQgID0+ICJIZWFkZXIwMSIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV8xID0+ICJJTlRFR0VSIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZERhdGF0eXBlXzIgPT4gIlRFWFQiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRGF0YXR5cGVfMyA9PiAiSU5URUdFUiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV80ID0+ICJEQVRFIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl8xICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRGaWx0ZXJfMiAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRmlsdGVyXzMgICA9PiAiIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl80ICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8xICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8yICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzMgICAgPT4gInZhbGlkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzQgICAgPT4gImNyZWF0ZSIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzEgICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzIgICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfMyAgICAgPT4gInZhbGlkX2lkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfNCAgICAgPT4gImNyZWF0ZV90aW1lIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMSAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMiAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMyAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfNCAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8xICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8yICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8zICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgU2VhcmNoZmllbGRfNCAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIFZhbHVlQ291bnRlciAgICA9PiA0LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFJlc3VsdExpbWl0ICA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHByZWZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHN1ZmZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlcnZlciAgICAgICA9PiAkREJTZXJ2ZXIsCiAgICAgICAgICAgICAgICBTSUQgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBUb29sdGlwICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBVc2VyICAgICAgICAgPT4gJERCVXNlciwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRmllbGRPcmRlciAgICA9PiAxLAogICAgICAgICAgICBGaWVsZFR5cGUgICAgID0+ICJEYXRhYmFzZSIsCiAgICAgICAgICAgIEludGVybmFsRmllbGQgPT4gMCwKICAgICAgICAgICAgTGFiZWwgICAgICAgICA9PiAiVGlja2V0REIwMSRSYW5kb21JRCIsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gIlRpY2tldERCMDEkUmFuZG9tSUQiLAogICAgICAgICAgICBPYmplY3RUeXBlICAgID0+ICJUaWNrZXQiLAogICAgICAgICAgICBSZW9yZGVyICAgICAgID0+IDAsCiAgICAgICAgICAgIFZhbGlkSUQgICAgICAgPT4gMSwKICAgICAgICB9LAogICAgICAgIFZhbHVlICAgICAgICA9PiAiMSIsCiAgICAgICAgRGlzcGxheVZhbHVlID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgICAgPT4gIkR5bmFtaWNGaWVsZFR5cGVfRGF0YWJhc2UiLAogICAgICAgICAgICBMaW5rICAgICAgICA9PiAiIiwKICAgICAgICAgICAgTGlua1ByZXZpZXcgPT4gIiIsCiAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICIxIiwKICAgICAgICAgICAgVmFsdWUgICAgICAgPT4KICAgICAgICAgICAgICAgICI8c3Bhbj4xPC9zcGFuPjxici8+PHNwYW4+UG9zdG1hc3Rlcjwvc3Bhbj48YnIvPjxici8+PGI+SGVhZGVyMDA8L2I+PGJyLz48c3Bhbj4kUXVldWV7VmFsaWRJRH08L3NwYW4+PGJyLz48YnIvPjxiPkhlYWRlcjAxPC9iPjxici8+PHNwYW4+JFF1ZXVle0NyZWF0ZVRpbWV9PC9zcGFuPiIsCiAgICAgICAgfSwKICAgICAgICBTZXRIZWFkZXJzID0+IFsKICAgICAgICAgICAgIkhlYWRlcjAwIiwKICAgICAgICAgICAgIkhlYWRlcjAxIgogICAgICAgIF0sCiAgICB9LAopOwoKZm9yIG15ICRUZXN0Q29uZmlnIChAVGVzdENvbmZpZ3MpIHsKICAgIHN0YXRlICRUZXN0Q291bnQgPSAwOwogICAgJFRlc3RDb3VudCsrOwoKICAgIHN1YnRlc3QgIkR5bmFtaWNGaWVsZERCRXh0ZW5zaW9uIHRlc3QgJFRlc3RDb3VudCIgPT4gc3ViIHsKCiAgICAgICAgIyBDcmVhdGUgZHluYW1pYyBmaWVsZCBEQgogICAgICAgIG15ICRGaWVsZElEID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkQWRkKAogICAgICAgICAgICAkVGVzdENvbmZpZy0+e0R5bmFtaWNGaWVsZENvbmZpZ30tPiUqLAogICAgICAgICAgICBVc2VySUQgPT4gJFVzZXJJRCwKICAgICAgICApOwogICAgICAgIG9rKCAkRmllbGRJRCwgJ0R5bmFtaWNGaWVsZCBjcmVhdGVkIHN1Y2Nlc3NmdWxseScgKTsKCiAgICAgICAgbXkgJER5bmFtaWNGaWVsZENvbmZpZyA9ICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgSUQgPT4gJEZpZWxkSUQsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkVGVzdENvbmZpZy0+e1NldEhlYWRlcnN9ICkgewogICAgICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICAgICAgICAgIEtleSAgID0+ICdEeW5hbWljRmllbGREQjo6RGlzcGxheWZpZWxkSGVhZGVycycsCiAgICAgICAgICAgICAgICBWYWx1ZSA9PiAkVGVzdENvbmZpZy0+e1NldEhlYWRlcnN9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBTZXQgdmFsdWUKICAgICAgICBteSAkU3VjY2VzcyA9ICRCYWNrZW5kT2JqZWN0LT5WYWx1ZVNldCgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIE9iamVjdElEICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVGVzdENvbmZpZy0+e1ZhbHVlfSwKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+ICRVc2VySUQsCiAgICAgICAgKTsKICAgICAgICBvayggJFN1Y2Nlc3MsICdWYWx1ZVNldCBzdWNjZXNzZnVsJyApOwoKICAgICAgICBteSAkRGlzcGxheVZhbHVlID0gJEJhY2tlbmRPYmplY3QtPkRpc3BsYXlWYWx1ZVJlbmRlcigKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVGVzdENvbmZpZy0+e1ZhbHVlfSwKICAgICAgICAgICAgSFRNTE91dHB1dCAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExheW91dE9iamVjdCAgICAgICA9PiAkTGF5b3V0T2JqZWN0LAogICAgICAgICk7CgogICAgICAgIGlzKAogICAgICAgICAgICAkRGlzcGxheVZhbHVlLAogICAgICAgICAgICBoYXNoIHsKICAgICAgICAgICAgICAgIGZvciBteSAkQ2hlY2tLZXkgKCBrZXlzICRUZXN0Q29uZmlnLT57RGlzcGxheVZhbHVlfS0+JSogKSB7CiAgICAgICAgICAgICAgICAgICAgZmllbGQgJENoZWNrS2V5ID0+ICRUZXN0Q29uZmlnLT57RGlzcGxheVZhbHVlfXskQ2hlY2tLZXl9OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGVuZCgpOwogICAgICAgICAgICB9LAogICAgICAgICAgICAnRGlzcGxheVZhbHVlIG9rJwogICAgICAgICk7CiAgICB9Owp9Cgpkb25lX3Rlc3Rpbmc7Cg==</File>
        <File Location="var/httpd/htdocs/js/Core.Agent.Admin.DynamicFieldDB.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOSBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNiBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vICRvcmlnaW46IG90b2JvIC0gY2JmZWNkMDA5YjQwNGRjZTRiM2RlYTRkNWQyZWFlMTUxOGQ0YzRjMCAtIHZhci9odHRwZC9odGRvY3MvanMvQ29yZS5BZ2VudC5BZG1pbi5EeW5hbWljRmllbGREQi5qcwovLyAtLQovLyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgovLyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQovLyBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgovLyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLy8gQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi8vIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi8vIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgovLyAtLQoKInVzZSBzdHJpY3QiOwoKdmFyIENvcmUgPSBDb3JlIHx8IHt9OwpDb3JlLkFnZW50ID0gQ29yZS5BZ2VudCB8fCB7fTsKQ29yZS5BZ2VudC5BZG1pbiA9IENvcmUuQWdlbnQuQWRtaW4gfHwge307CgovKioKICogQG5hbWVzcGFjZQogKiBAZXhwb3J0cyBUYXJnZXROUyBhcyBDb3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZERCCiAqIEBkZXNjcmlwdGlvbgogKiAgICAgIFRoaXMgbmFtZXNwYWNlIGNvbnRhaW5zIHRoZSBzcGVjaWFsIG1vZHVsZSBmdW5jdGlvbnMgZm9yIHRoZSBEeW5hbWljRmllbGREQiBtb2R1bGUuCiAqLwpDb3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZERCID0gKGZ1bmN0aW9uIChUYXJnZXROUykgewoKICAgIC8qKgogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gSURTZWxlY3RvciwgaWQgb2YgdGhlIHByZXNzZWQgcmVtb3ZlIHZhbHVlIGJ1dHRvbi4KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gUmVtb3ZlCiAgICAgKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB1cGRhdGVzIHRoZSBpZGVudGlmaWVyIGRyb3Bkb3duIG1lbnUKICAgICAqIEByZXR1cm5zIHtib29sZWFufQogICAgICovCiAgICBUYXJnZXROUy5VcGRhdGVJZGVudGlmaWVyID0gZnVuY3Rpb24gKElEU2VsZWN0b3IsIFJlbW92ZSl7CgogICAgICAgIHZhciBJZGVudGlmaWVyS2V5LAogICAgICAgICAgICBJZGVudGlmaWVyVmFsdWUsCiAgICAgICAgICAgIEVsZW1lbnRVcGRhdGVkLAogICAgICAgICAgICBzb3J0ZWQ7CgogICAgICAgIC8vIGdldCB0aGUgbnVtYmVyIG9mIHRoZSBzZWxlY3RvciBpZCBhbmQKICAgICAgICAvLyB1c2UgaXQgYXMgdGhlIHNlbGVjdCBrZXkKICAgICAgICBsZXQgTWF0Y2hpbmdSZXN1bHQgPSAvLio/XyhcZCspLy5leGVjKElEU2VsZWN0b3IpOwogICAgICAgIGlmIChNYXRjaGluZ1Jlc3VsdCkgewogICAgICAgICAgICBJZGVudGlmaWVyS2V5ID0gTWF0Y2hpbmdSZXN1bHRbMV07CiAgICAgICAgfQoKICAgICAgICAvLyByZW1vdmUgdGhlIHJlbGF0ZWQgaXRlbSBpZiB0aGUgY29tcGxldGUgbGluZSB3YXMgcmVtb3ZlZAogICAgICAgIGlmIChSZW1vdmUpIHsKICAgICAgICAgICAgJCgiI0lkZW50aWZpZXIgb3B0aW9uW3ZhbHVlPSciICsgSWRlbnRpZmllcktleSArICInXSIpLnJlbW92ZSgpOwogICAgICAgICAgICBUYXJnZXROUy5VcGRhdGVJZGVudGlmaWVyKCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8vIHVzZSB0aGUgaW5wdXQgdmFsdWUgYXMgdGhlIHNlbGVjdCB2YWx1ZQogICAgICAgIElkZW50aWZpZXJWYWx1ZSA9ICQoJyMnICsgSURTZWxlY3RvcikudmFsKCk7CgogICAgICAgIGlmKElkZW50aWZpZXJWYWx1ZSkgewoKICAgICAgICAgICAgRWxlbWVudFVwZGF0ZWQgPSAwOwoKICAgICAgICAgICAgLy8gc2VhcmNoIGZvciB0aGUgc2VsZWN0IG9wdGlvbiBhbmQgdXBkYXRlIHRoZSB0ZXh0CiAgICAgICAgICAgICQoJyNJZGVudGlmaWVyIG9wdGlvbicpLmVhY2goZnVuY3Rpb24oX0tleSwgVmFsdWUpIHsKICAgICAgICAgICAgICAgIGlmIChWYWx1ZS52YWx1ZSA9PT0gSWRlbnRpZmllcktleSkgewogICAgICAgICAgICAgICAgICAgICQodGhpcykudGV4dChJZGVudGlmaWVyVmFsdWUpOwogICAgICAgICAgICAgICAgICAgIEVsZW1lbnRVcGRhdGVkID0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyBvYnZpb3VzbHkgdGhlIGVudHJ5IGlzIG5vdCBwcmVzZW50IHlldAogICAgICAgICAgICAvLyBhZGQgaXQgdG8gdGhlIGRyb3Bkb3duIG1lbnUKICAgICAgICAgICAgaWYgKCFFbGVtZW50VXBkYXRlZCkgewogICAgICAgICAgICAgICAgJCgiPG9wdGlvbi8+IikudmFsKElkZW50aWZpZXJLZXkpLnRleHQoSWRlbnRpZmllclZhbHVlKS5hcHBlbmRUbygnI0lkZW50aWZpZXInKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJCgiI0lkZW50aWZpZXIgb3B0aW9uW3ZhbHVlPSciICsgSWRlbnRpZmllcktleSArICInXSIpLnJlbW92ZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8gc29ydCB0aGUgaWRlbnRpZmllciBkcm9wZG93biBtZW51IGJ5IHRleHQKICAgICAgICBzb3J0ZWQgPSAkLm1ha2VBcnJheSgkKCIjSWRlbnRpZmllciBvcHRpb24iKSkuc29ydChmdW5jdGlvbihhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiAoKCQoYSkudGV4dCgpID4gJChiKS50ZXh0KCkpID8gMSA6IC0xKTsKICAgICAgICB9KTsKICAgICAgICAkKCIjSWRlbnRpZmllciIpLmVtcHR5KCkuYXBwZW5kKHNvcnRlZCkudHJpZ2dlcigncmVkcmF3LklucHV0RmllbGQnKS50cmlnZ2VyKCdjaGFuZ2UnKTsKCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKCiAgICAvKioKICAgICAqIEBmdW5jdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IElEU2VsZWN0b3IsIGlkIG9mIHRoZSBwcmVzc2VkIHJlbW92ZSB2YWx1ZSBidXR0b24uCiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgICAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIHJlbW92ZXMgYSB2YWx1ZSBmcm9tIHBvc3NpYmxlIHZhbHVlcyBsaXN0IGFuZCBjcmVhdGVzIGEgc3R1YiBpbnB1dCBzbwogICAgICogICAgICAgICAgICAgIHRoZSBzZXJ2ZXIgY2FuIGlkZW50aWZ5IGlmIGEgdmFsdWUgaXMgZW1wdHkgb3IgZGVsZXRlZCAodXNlZnVsIGZvciBzZXJ2ZXIgdmFsaWRhdGlvbikKICAgICAqICAgICAgICAgICAgICBJdCBhbHNvIGRlbGV0ZXMgdGhlIFZhbHVlIGZyb20gdGhlIERlZmF1bHRWYWx1ZXMgbGlzdAogICAgICovCiAgICBUYXJnZXROUy5SZW1vdmVWYWx1ZSA9IGZ1bmN0aW9uIChJRFNlbGVjdG9yKXsKCiAgICAgICAgLy8gY29weSBIVE1MIGNvZGUgZm9yIGFuIGlucHV0IHJlcGxhY2VtZW50IGZvciB0aGUgZGVsZXRlZCB2YWx1ZQogICAgICAgIHZhciAkQ2xvbmUgPSAkKCcuRGVsZXRlZFZhbHVlJykuY2xvbmUoKSwKCiAgICAgICAgLy8gZ2V0IHRoZSBpbmRleCBvZiB0aGUgdmFsdWUgdG8gZGVsZXRlIChpdHMgYWx3YXlzIHRoZSBzZWNvbmQgZWxlbWVudCAoMSkgaW4gdGhpcyBSZWdFeAogICAgICAgICRPYmplY3RJbmRleCA9IElEU2VsZWN0b3IubWF0Y2goLy4rXyhcZCspLylbMV0sCgogICAgICAgIC8vIGdldCB0aGUga2V5IG5hbWUgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGRlZmF1bHRzIHNlbGVjdAogICAgICAgICRLZXkgPSAkKCcjS2V5XycgKyAkT2JqZWN0SW5kZXgpLnZhbCgpOwoKICAgICAgICAvLyBzZXQgdGhlIGlucHV0IHJlcGxhY2VtZW50IGF0dHJpYnV0ZXMgdG8gbWF0Y2ggdGhlIGRlbGV0ZWQgb3JpZ2luYWwgdmFsdWUKICAgICAgICAvLyBuZXcgdmFsdWUgYW5kIG90aGVyIGNvbnRyb2xzIGFyZSBub3QgbmVlZGVkIGFueW1vcmUKICAgICAgICAkQ2xvbmUuYXR0cignaWQnLCAnS2V5JyArICdfJyArICRPYmplY3RJbmRleCk7CiAgICAgICAgJENsb25lLmF0dHIoJ25hbWUnLCAnS2V5JyArICdfJyArICRPYmplY3RJbmRleCk7CiAgICAgICAgJENsb25lLnJlbW92ZUNsYXNzKCdEZWxldGVkVmFsdWUnKTsKCiAgICAgICAgLy8gYWRkIHRoZSBpbnB1dCByZXBsYWNlbWVudCB0byB0aGUgbWFwcGluZyB0eXBlIHNvIGl0IGNhbiBiZSBwYXJzZWQgYW5kIGRpc3Rpbmd1aXNoIGZyb20KICAgICAgICAvLyBlbXB0eSB2YWx1ZXMgYnkgdGhlIHNlcnZlcgogICAgICAgIC8vJCgnIycrIElEU2VsZWN0b3IpLmNsb3Nlc3QoJ2ZpZWxkc2V0JykuYXBwZW5kKCRDbG9uZSk7CgogICAgICAgIC8vIHJlbW92ZSB0aGUgdmFsdWUgZnJvbSBkZWZhdWx0IGxpc3QKICAgICAgICBpZiAoJEtleSAhPT0gJycpewogICAgICAgICAgICAkKCcjRGVmYXVsdFZhbHVlJykuZmluZCgib3B0aW9uW3ZhbHVlPSciICsgJEtleSArICInXSIpLnJlbW92ZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8gcmVtb3ZlIHBvc3NpYmxlIHZhbHVlCiAgICAgICAgJCgnIycgKyBJRFNlbGVjdG9yKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgICAgLy8gcmVtb3ZlIHRoZSB2YWx1ZSBpbiB0aGUgaWRlbnRpZmllciBkcm9wZG93biBtZW51CiAgICAgICAgVGFyZ2V0TlMuVXBkYXRlSWRlbnRpZmllcihJRFNlbGVjdG9yLCB0cnVlKTsKCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKCiAgICAvKioKICAgICAqIEBmdW5jdGlvbgogICAgICogQHBhcmFtIHtPYmplY3R9IFZhbHVlSW5zZXJ0LCBIVE1MIGNvbnRhaW5lciBvZiB0aGUgdmFsdWUgbWFwcGluZyByb3cKICAgICAqIEByZXR1cm5zIHtib29sZWFufQogICAgICogQGRlc2NyaXB0aW9uIFRoaXMgZnVuY3Rpb24gYWRkIGEgbmV3IHZhbHVlIHRvIHRoZSBwb3NzaWJsZSB2YWx1ZXMgbGlzdAogICAgICovCiAgICBUYXJnZXROUy5BZGRWYWx1ZSA9IGZ1bmN0aW9uIChWYWx1ZUluc2VydCkgewoKICAgICAgICAvLyBjbG9uZSBrZXkgZGlhbG9nCiAgICAgICAgdmFyICRDbG9uZSA9ICQoJy5WYWx1ZVRlbXBsYXRlJykuY2xvbmUoKSwKICAgICAgICAgICAgVmFsdWVDb3VudGVyID0gJCgnI1ZhbHVlQ291bnRlcicpLnZhbCgpOwoKICAgICAgICAvLyBpbmNyZW1lbnQga2V5IGNvdW50ZXIKICAgICAgICBWYWx1ZUNvdW50ZXIrKzsKCiAgICAgICAgLy8gcmVtb3ZlIHVubmVjZXNzYXJ5IGNsYXNzZXMKICAgICAgICAkQ2xvbmUucmVtb3ZlQ2xhc3MoJ0hpZGRlbiBWYWx1ZVRlbXBsYXRlJyk7CgogICAgICAgIC8vIGFkZCBuZWVkZWQgY2xhc3MKICAgICAgICAkQ2xvbmUuYWRkQ2xhc3MoJ1ZhbHVlUm93IENhcmQnKTsKCiAgICAgICAgLy8gY29weSB2YWx1ZXMgYW5kIGNoYW5nZSBpZHMgYW5kIG5hbWVzCiAgICAgICAgJENsb25lLmZpbmQoJzppbnB1dCwgYScpLmVhY2goZnVuY3Rpb24oKXsKICAgICAgICAgICAgdmFyIElEID0gJCh0aGlzKS5hdHRyKCdpZCcpOwogICAgICAgICAgICAkKHRoaXMpLmF0dHIoJ2lkJywgSUQgKyAnXycgKyBWYWx1ZUNvdW50ZXIpOwogICAgICAgICAgICAkKHRoaXMpLmF0dHIoJ25hbWUnLCBJRCArICdfJyArIFZhbHVlQ291bnRlcik7CgogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdWYWxpZGF0ZV9SZXF1aXJlZCcpOwoKICAgICAgICAgICAgLy8gc2V0IGVycm9yIGNvbnRyb2xzCiAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuZmluZCgnIycgKyBJRCArICdFcnJvcicpLmF0dHIoJ2lkJywgSUQgKyAnXycgKyBWYWx1ZUNvdW50ZXIgKyAnRXJyb3InKTsKICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5maW5kKCcjJyArIElEICsgJ0Vycm9yJykuYXR0cignbmFtZScsIElEICsgJ18nICsgVmFsdWVDb3VudGVyICsgJ0Vycm9yJyk7CgogICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJyMnICsgSUQgKyAnU2VydmVyRXJyb3InKS5hdHRyKCdpZCcsIElEICsgJ18nICsgVmFsdWVDb3VudGVyICsgJ1NlcnZlckVycm9yJyk7CiAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuZmluZCgnIycgKyBJRCArICdTZXJ2ZXJFcnJvcicpLmF0dHIoJ25hbWUnLCBJRCArICdfJyArIFZhbHVlQ291bnRlciArICdTZXJ2ZXJFcnJvcicpOwoKICAgICAgICAgICAgLy8gYWRkIGV2ZW50IGhhbmRsZXIgdG8gcmVtb3ZlIGJ1dHRvbgogICAgICAgICAgICBpZigkKHRoaXMpLmhhc0NsYXNzKCdSZW1vdmVCdXR0b24nKSkgewoKICAgICAgICAgICAgICAgIC8vIGJpbmQgY2xpY2sgZnVuY3Rpb24gdG8gcmVtb3ZlIGJ1dHRvbgogICAgICAgICAgICAgICAgJCh0aGlzKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgVGFyZ2V0TlMuUmVtb3ZlVmFsdWUoJCh0aGlzKS5hdHRyKCdpZCcpKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gYWRkIGJsdXIgZXZlbnQgaGFuZGxlciB0byB0aGUgbmFtZSBmaWVsZAogICAgICAgICAgICAvLyB0byB1cGRhdGUgdGhlIGlkZW50aWZpZXIgZHJvcGRvd24gbWVudQogICAgICAgICAgICBpZiAoJCh0aGlzKS5hdHRyKCdpZCcpLm1hdGNoKC9GaWVsZE5hbWVfL2kpKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCdibHVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgVGFyZ2V0TlMuVXBkYXRlSWRlbnRpZmllcigkKHRoaXMpLmF0dHIoJ2lkJykpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIHJlbW92ZSBjbGFzcyBWYWxpZGF0ZV9SZXF1aXJlZAogICAgICAgICAgICBpZiAoJCh0aGlzKS5hdHRyKCdpZCcpLm1hdGNoKC9TZWFyY2hmaWVsZF8vaSkpIHsKICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ1ZhbGlkYXRlX1JlcXVpcmVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCQodGhpcykuYXR0cignaWQnKS5tYXRjaCgvTGlzdGZpZWxkXy9pKSkgewogICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnVmFsaWRhdGVfUmVxdWlyZWQnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJCh0aGlzKS5hdHRyKCdpZCcpLm1hdGNoKC9GaWVsZEZpbHRlcl8vaSkpIHsKICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ1ZhbGlkYXRlX1JlcXVpcmVkJyk7CiAgICAgICAgICAgIH0KLy8gUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICAgICBpZiAoJCh0aGlzKS5hdHRyKCdpZCcpLm1hdGNoKC9EaXNwbGF5ZmllbGRfL2kpKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdWYWxpZGF0ZV9SZXF1aXJlZCcpOwogICAgICAgICAgICB9Ci8vIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgIH0pOwoKICAgICAgICAkQ2xvbmUuZmluZCgnbGFiZWwnKS5lYWNoKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHZhciBGT1IgPSAkKHRoaXMpLmF0dHIoJ2ZvcicpOwogICAgICAgICAgICAkKHRoaXMpLmF0dHIoJ2ZvcicsIEZPUiArICdfJyArIFZhbHVlQ291bnRlcik7CiAgICAgICAgfSk7CgogICAgICAgIC8vIGFwcGVuZCB0byBjb250YWluZXIKICAgICAgICBWYWx1ZUluc2VydC5hcHBlbmQoJENsb25lKTsKCiAgICAgICAgLy8gc2V0IG5ldyB2YWx1ZSBmb3IgS2V5TmFtZQogICAgICAgICQoJyNWYWx1ZUNvdW50ZXInKS52YWwoVmFsdWVDb3VudGVyKTsKCiAgICAgICAgJCgnLkRlZmF1bHRWYWx1ZUtleUl0ZW0sLkRlZmF1bHRWYWx1ZUl0ZW0nKS5vbigna2V5dXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIENvcmUuQWdlbnQuQWRtaW4uRHluYW1pY0ZpZWxkREIuUmVjcmVhdGVEZWZhdWx0VmFsdWVMaXN0KCk7CiAgICAgICAgfSk7CgogICAgICAgIENvcmUuVUkuSW5wdXRGaWVsZHMuQWN0aXZhdGUoJENsb25lKTsKCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKCiAgICAvKioKICAgICAqIEBmdW5jdGlvbgogICAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICAgKiBAZGVzY3JpcHRpb24gICAgIFRoaXMgZnVuY3Rpb24gcmUtY3JlYXRlcyBhbmQgc29ydCB0aGUgRGVmYXVsdCBWYWx1ZXMgbGlzdCB0YWtpbmcgdGhlIFBvc3NpYmxlIFZhbHVlcwogICAgICogICAgICAgICAgICAgICAgICBhcyBzb3VyY2UsIGFsbCBkZWxldGVkIHZhbHVlcyB3aWxsIG5vdCBiZSBwYXJ0IG9mIHRoZSByZS1jcmVhdGVkIHZhbHVlIGxpc3QKICAgICAqLwogICAgVGFyZ2V0TlMuUmVjcmVhdGVEZWZhdWx0VmFsdWVMaXN0ID0gZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIGdldCB0aGUgc2VsZWN0ZWQgZGVmYXVsdCB2YWx1ZQogICAgICAgIHZhciBTZWxlY3RlZFZhbHVlID0gJCgiI0RlZmF1bHRWYWx1ZSBvcHRpb246c2VsZWN0ZWQiKS52YWwoKSwKCiAgICAgICAgLy8gZGVmaW5lIG90aGVyIHZhcmlhYmxlcwogICAgICAgIFZhbHVlSW5kZXgsIEtleSwgVmFsdWUsIEtleUlELCBTZWxlY3RPcHRpb25zOwoKICAgICAgICAvLyBkZWxldGUgYWxsIGVsZW1lbnRzCiAgICAgICAgJCgnI0RlZmF1bHRWYWx1ZScpLmVtcHR5KCk7CgogICAgICAgIC8vIGFkZCB0aGUgZGVmYXVsdCAicG9zc2libGUgbm9uZSIgZWxlbWVudAogICAgICAgICQoJyNEZWZhdWx0VmFsdWUnKS5hcHBlbmQoJCgnPG9wdGlvbj4nLCB7IHZhbHVlOiAnJyB9KS50ZXh0KCctJykpOwoKICAgICAgICAvLyBmaW5kIGFsbCBhY3RpdmUgcG9zc2libGUgdmFsdWVzIGtleXMgKHRoaXMgd2lsbCBvbWl0IGFsbCBwcmV2aW91c2x5IGRlbGV0ZWQga2V5cykKICAgICAgICAkKCcuVmFsdWVSb3cgPiAuRGVmYXVsdFZhbHVlS2V5SXRlbScpLmVhY2goZnVuY3Rpb24oKXsKCiAgICAgICAgICAgIC8vIGZvciBlYWNoIGtleToKICAgICAgICAgICAgLy8gR2V0IHRoZSBJRAogICAgICAgICAgICBLZXlJRCA9ICQodGhpcykuYXR0cignaWQnKTsKCiAgICAgICAgICAgIC8vIGV4dHJhY3QgdGhlIGluZGV4CiAgICAgICAgICAgIFZhbHVlSW5kZXggPSBLZXlJRC5tYXRjaCgvLitfKFxkKykvKVsxXTsKCiAgICAgICAgICAgIC8vIGdldCB0aGUgS2V5IGFuZCBWYWx1ZQogICAgICAgICAgICBLZXkgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgICAgICBWYWx1ZSA9ICQoJyNWYWx1ZV8nICsgVmFsdWVJbmRleCkudmFsKCk7CgogICAgICAgICAgICAvLyBjaGVjayBpZiBib3RoIGFyZSBub25lIGVtcHR5IGFuZCBhZGQgdGhlbSB0byB0aGUgZGVmYXVsdCB2YWx1ZXMgbGlzdAogICAgICAgICAgICBpZiAoS2V5ICE9PSAnJyAmJiBWYWx1ZSAhPT0gJycpIHsKICAgICAgICAgICAgICAgICQoJyNEZWZhdWx0VmFsdWUnKS5hcHBlbmQoJCgnPG9wdGlvbj4nLCB7IHZhbHVlOiBLZXkgfSkudGV4dChWYWx1ZSkpOwoKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICAvLyBleHRyYWN0IHRoZSBuZXcgdmFsdWUgbGlzdCBpbnRvIGFuIGFycmF5CiAgICAgICAgU2VsZWN0T3B0aW9ucyA9ICQoIiNEZWZhdWx0VmFsdWUgb3B0aW9uIik7CgogICAgICAgIC8vIHNvcnQgdGhlIGFycmF5IGJ5IHRoZSB0ZXh0ICh0aGlzIG1lYW5zIHRoZSBWYWx1ZSkKICAgICAgICBTZWxlY3RPcHRpb25zLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICBpZiAoYS50ZXh0ID4gYi50ZXh0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChhLnRleHQgPCBiLnRleHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIGNsZWFyIHRoZSBsaXN0IGFnYWluIGFuZCByZS1wb3B1bGF0ZSBpdCB3aXRoIHRoZSBzb3J0ZWQgbGlzdAogICAgICAgICQoIiNEZWZhdWx0VmFsdWUiKS5lbXB0eSgpLmFwcGVuZChTZWxlY3RPcHRpb25zKTsKCiAgICAgICAgLy8gc2V0IHRoZSBzZWxlY3RlZCB2YWx1ZSBhcyBpdCB3YXMgYmVmb3JlLCB0aGlzIHdpbGwgbm90IGFwcGx5IGlmIHRoZSBrZXkgbmFtZSB3YXMKICAgICAgICAvLyBjaGFuZ2VkCiAgICAgICAgJCgnI0RlZmF1bHRWYWx1ZScpLnZhbChTZWxlY3RlZFZhbHVlKTsKCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKCiAgICAvKioKICAgICAqIEBuYW1lIEluaXQKICAgICAqIEBmdW5jdGlvbgogICAgICogQGRlc2NyaXB0aW9uCiAgICAgKiAgICAgICBJbml0aWFsaXplIG1vZHVsZSBmdW5jdGlvbmFsaXR5CiAgICAgKi8KICAgIFRhcmdldE5TLkluaXQgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgIC8vIEJpbmQgY2xpY2sgZnVuY3Rpb24gdG8gYWRkIGJ1dHRvbi4KICAgICAgICAkKCcjQWRkVmFsdWUnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIFRhcmdldE5TLkFkZFZhbHVlKAogICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCdmaWVsZHNldCcpLmZpbmQoJy5WYWx1ZUluc2VydCcpCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gQmluZCBjbGljayBmdW5jdGlvbiB0byByZW1vdmUgYnV0dG9uLgogICAgICAgICQoJy5WYWx1ZVJlbW92ZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgVGFyZ2V0TlMuUmVtb3ZlVmFsdWUoJCh0aGlzKS5hdHRyKCdpZCcpKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0pOwoKICAgICAgICAvLyBDaGVjayBpZiBTSUQgaXMgbmVlZGVkLgogICAgICAgIGlmICgkKCcjVHlwZScpLnZhbCgpID09PSAnb3JhY2xlJykgewogICAgICAgICAgICAkKCcjU0lETGFiZWwnKS5mYWRlSW4oKTsKICAgICAgICAgICAgJCgnI1NJREZpZWxkJykuZmFkZUluKCk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkKCcjU0lETGFiZWwnKS5mYWRlT3V0KCk7CiAgICAgICAgICAgICQoJyNTSURGaWVsZCcpLmZhZGVPdXQoKTsKICAgICAgICB9CgogICAgICAgICQoJyNUeXBlJykub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgaWYgKCQoJyNUeXBlJykudmFsKCkgPT09ICdvcmFjbGUnKSB7CiAgICAgICAgICAgICAgICAkKCcjU0lETGFiZWwnKS5mYWRlSW4oKTsKICAgICAgICAgICAgICAgICQoJyNTSURGaWVsZCcpLmZhZGVJbigpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJCgnI1NJRExhYmVsJykuZmFkZU91dCgpOwogICAgICAgICAgICAgICAgJCgnI1NJREZpZWxkJykuZmFkZU91dCgpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIENoZWNrIGlmIHRoZSBkcml2ZXIgZmllbGQgaXMgbmVlZGVkLgogICAgICAgIGlmICgkKCcjVHlwZScpLnZhbCgpID09PSAnT0RCQycpIHsKICAgICAgICAgICAgJCgnI0RyaXZlckxhYmVsJykuZmFkZUluKCk7CiAgICAgICAgICAgICQoJyNEcml2ZXJGaWVsZCcpLmZhZGVJbigpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJCgnI0RyaXZlckxhYmVsJykuZmFkZU91dCgpOwogICAgICAgICAgICAkKCcjRHJpdmVyRmllbGQnKS5mYWRlT3V0KCk7CiAgICAgICAgfQoKICAgICAgICAkKCcjVHlwZScpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIGlmICgkKCcjVHlwZScpLnZhbCgpID09PSAnT0RCQycpIHsKICAgICAgICAgICAgICAgICQoJyNEcml2ZXJMYWJlbCcpLmZhZGVJbigpOwogICAgICAgICAgICAgICAgJCgnI0RyaXZlckZpZWxkJykuZmFkZUluKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkKCcjRHJpdmVyTGFiZWwnKS5mYWRlT3V0KCk7CiAgICAgICAgICAgICAgICAkKCcjRHJpdmVyRmllbGQnKS5mYWRlT3V0KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgJCgnaW5wdXRbaWQqPUZpZWxkTmFtZV9dJykuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgJCh0aGlzKS5ibHVyKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgVGFyZ2V0TlMuVXBkYXRlSWRlbnRpZmllcigkKHRoaXMpLmF0dHIoJ2lkJykpOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKCiAgICAgICAgQ29yZS5VSS5JbnB1dEZpZWxkcy5BY3RpdmF0ZSgpOwogICAgfTsKCiAgICBDb3JlLkluaXQuUmVnaXN0ZXJOYW1lc3BhY2UoVGFyZ2V0TlMsICdBUFBfTU9EVUxFJyk7CgogICAgcmV0dXJuIFRhcmdldE5TOwp9KENvcmUuQWdlbnQuQWRtaW4uRHluYW1pY0ZpZWxkREIgfHwge30pKTsK</File>
        <File Location="var/httpd/htdocs/skins/Customer/default/css/DynamicFieldDatabaseExtensions.TicketZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmRpdi5vb29TZWN0aW9uIHAub29vMTIgLkR5bmFtaWNGaWVsZERCRXh0ZW5kZWRWYWx1ZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgbGluZS1oZWlnaHQ6IDEuM2VtOwogIG1hcmdpbi1sZWZ0OiA0OHB4OwogIG1pbi1oZWlnaHQ6IDE3cHg7CiAgcGFkZGluZy10b3A6IDAuM2VtOwogIHBhZGRpbmctYm90dG9tOiAxcHg7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgdmFyKC0tY29sQkdMaWdodCk7CiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKfQo=</File>
        <File Location="var/httpd/htdocs/skins/Agent/default/css/DynamicFieldDatabaseExtensions.TicketZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmZpZWxkc2V0LlRhYmxlTGlrZSBkaXYuRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICBsaW5lLWhlaWdodDogMS4zZW07CiAgbWFyZ2luLWxlZnQ6IDc0cHg7CiAgbWluLWhlaWdodDogMTdweDsKICBwYWRkaW5nLXRvcDogMC4zZW07CiAgcGFkZGluZy1ib3R0b206IDFweDsKICB0ZXh0LXNoYWRvdzogMCAxcHggMCB2YXIoLS1jb2xCR0xpZ2h0KTsKICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOwp9Cg==</File>
        <File Location="var/httpd/htdocs/skins/Agent/default/css/DynamicFieldDatabaseExtensions.ITSMConfigItemZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmRpdi5GaWVsZERpc3BsYXlSb3cgZGl2LkR5bmFtaWNGaWVsZERCRXh0ZW5kZWRWYWx1ZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgZmxvYXQ6IGxlZnQ7CiAgbGluZS1oZWlnaHQ6IDEuM2VtOwogIG1hcmdpbi1sZWZ0OiA3NHB4OwogIG1pbi1oZWlnaHQ6IDE3cHg7CiAgcGFkZGluZy10b3A6IDAuM2VtOwogIHBhZGRpbmctYm90dG9tOiAxcHg7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgdmFyKC0tY29sQkdMaWdodCk7CiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKfQo=</File>
        <File Location="var/httpd/htdocs/skins/Customer/default/css/DynamicFieldDatabaseExtensions.ITSMConfigItemZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmRpdi5GaWVsZERpc3BsYXlSb3cgcCAuRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIHsKICBkaXNwbGF5OiBibG9jazsKICBsaW5lLWhlaWdodDogMS4zZW07CiAgbWFyZ2luLWxlZnQ6IDQ4cHg7CiAgbWluLWhlaWdodDogMTdweDsKICBwYWRkaW5nLXRvcDogMC4zZW07CiAgcGFkZGluZy1ib3R0b206IDFweDsKICB0ZXh0LXNoYWRvdzogMCAxcHggMCB2YXIoLS1jb2xCR0xpZ2h0KTsKICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOwp9Cg==</File>
        <File Location="doc/en/DynamicFieldDatabaseExtensions.pdf" Permission="644" Encode="Base64">JVBERi0xLjUKJeTw7fgKNCAwIG9iago8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCA4MjgvSGVpZ2h0IDI1My9Db2xvclNwYWNlL0RldmljZUdyYXkvQml0c1BlckNvbXBvbmVudAo4L0RlY29kZVBhcm1zPDwvQml0c1BlckNvbXBvbmVudCA4L0NvbG9ycyAxL0NvbHVtbnMgODI4L1ByZWRpY3RvciAyPj4vRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aAoyNDQzPj4Kc3RyZWFtCnja7d2LddpYAgZgUkGYCqKtIGwFZisIqWCYCsJUsGwFw1QwuIJlKli5gpUrGKhgTQVZJ465AoORhB7X6PvOmXMSGzsaSf/VfWswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgF5LktEwSR7/kC3WNf3K8TSp/LOr5cN1nufZ5PxnsodsnTV5EE9XJh2s19mDW/+yUzke34S/bcf1XLflz5f89P34Gq/qMP1Y8JPb1WrV1FHkr8wmS9NMBKpdzcnk0+FlS+q4bef/vOzn70dXeLbTmxIf3i4WjZQfk38ffGGTLlNJKP/wPvZw+HVRw69+eH/hL/jH9V3P0X/LfX47XzRwFNmRZ99muVyLQwnT+YejX//XvIb201+X/oY6jiK2ouo/ZX/iblL/o+fr8S/fzqXn0uTEkp1fF7JTX+vzfHakp/BlnJ+uev+yrOEfWH+48Bf8PZOdRsKz+nTyW7/P9bud7SGYfzn9zc2ojhP4okVatrYyHshOI+F57Si205V0vH72lq88FDaTeq7V7LeLojN5kJ06y7J8bf2PV77559Sj5xWnuo/vBoOHbL2q69wlk+GJ7+z+/bv0VL3iKsccQnZuT7csRsPkoGS7ndZ8HMl08PhUTz40WnZeZX1t+bK+u02ztMUh5q919kq8yey83gGfjKd7rdGmuutHyXj8saH27lVG58XQdpND2LJTJTvfPrr42E7b78jg+OD3mZwcK2rSgzHLu2X7pYzsFHiS5GfONDtOnEynTdcSrzE6d/O0g6OQnSJhyIWn8Xv5cLBPeM5FZzNNOzkM2Sn0IMnNfnvXeFV+NnsvPMXbOp3dubJTKDtJtrudPzffIk2WN8Jz2t4swPtpZ32RslOsARNqba2cqNk8/+jR23aq9Tm4nXU3BiY7xbIT5l23M8titMq3eq5wInv19uAfMdTXZKfEfbmbFLhJ2q/U17OO6yrkas9dP5Blp2B2Qm/Bu3aOcLjKNXqucUphNfk1ix3XZWWnYHbC7Kl3bR1jfpb1FS4DqdYQ/C2eZmBfsxOuQbzZyVfbtqO14DyeknWosXU+5aKv2QlRiDc7e+H5cyI5e31s3VdjZSfi7OwNoOtr21sCHUH3iewUvCcXXzrITr5DVnfB3mMngqJEdsr2s22HbR5nrr/Agyf32IlhroXslB3fabf8zzWOPXjCYyeKAS/ZKZadUOS13L2Tq7X1/cGTK0eiuFtlp9gdGW7hzy2vTgwzH/s+JzRcg00ykJ03k50wnP1Ty7WF3K4kP/V7Zk4oReIYKZadQtkJN3D7rY5wy/R7PnWoNkcyvU92Sq59a//+DVWVfo+PhqkgkWziIDtFshM+3UWRF/bi73WlLXTXR7JP7dee1gfCXqkFLkSur6uLIiYMy/a60vY1rp6C3LDF39b9rDyfH+ocLsJodic17bDurs89baHJGcu+W8/lb+/2AXuuAZztstnb9bibDp5dAXeVbxEr3dyJZpzrqULQv62PfywtO1NmJJNpfmOJjob2w3h6jxs84SS8i+aYksd6QJr28GJMHgvxg1esTcf7VenR/hZ6tW/lXlBob/V4asGuq9PcpHgfRSc18PKqko2zPi8f/Rpbc4cX1df4ouO+2TsHlp/HfHWOR6fDVc/qK+U3mKCTq3PcZr7s6tB2w4KyIztvMTuPd+60o0fPbl5Duwvv4rw679yq8Xl4f+4TXb0DtJPNEuIS+hpl5+31FXzXzayYMC7Y2xtH8RG3vV3CYwqPCkuk2RmPs2zdw6sxHI8O3+w6PXin8bF36HbRVJWdKOtsT9O1ejhu8L0g287OPEaGo/F4f8S0i+mg6mwxFh/Pc3R7F57nOkCB7QeG01n++dPBCjSV/Vx2Ilm9kxt169kahOH/fvxhkxQq+PPvkmq/1qaPOsbxnb6ufQuXolihMVqG+dTtD1AaG41xTo411wWLsfy+6q2XfObkxDinT3aKBiG3r3rryzfNBY2x/JCdwg+R0NnVdqsjLLru8Rzi+Na+yU7xCthu6XPbe4Na+7ZXdH1eyc5by064ei2fLGuu9x6+sVRcZad4dsLyzZar3LtJqn3e6yOchU0iO28tO62/J/6HsJdcr5cbx7u3oeyUuXqtNldDlS2Wmn4nQqsvkh4T2SmRnY6mxoTNsHs9/X43FSSWcXzZqZSdVmcw7bLT83dd7x77kcwfk51K2Wm1r3j3z/b7HSK7eVSxFCHtZOfbuph0cVH/6nQ6yi78FW81O8/vCux1L9v3e2Dx7UREs4dtK9l5auxetL/Z0wucNuO6ntaVpuV2tRRgtPrWwXc/fuh5dgbD6fAhjWUJQivZee4gueDiP28lUNvASqXshA0NWm60D0fjQbYaEJU2srN76V/lOZShe7KuZmKl7OjwouXshP02KzZ2c1OY62poVMrO7n/EduK0nZ1q4UmysGizy+yE8f2+v62dtrIThuMrhSe/6qy2jTaqZCeM7/e8s5jWsrO3WW3p2y6/2rm+o6yQnTAVtG+bO9BZdnJ9u+XDk2vr1NnOqJCd0FPQ+4EWWsvOXq2tXGPhaTis7hpblezkNg31Bhhay06+yfJYbE+KVnnyr5iu9+VRpbOz7Phl1/Q0O3tdZY8337xYwb33iul6W+gls9NMowvZKdtseXz0zM7fscl8f2v1Wju3SmVn/0g8dmg1O4fhGdzNX79nh7PZ++aiUyI7yWRy0+CBIDulwzO4W5yeoTWaHb7Oo+Y7NmTn9rXGV5KMDl9o1fNFNHSQnf02w1PtZ7lKj5b00xefnNUbnQIvSDzBbGbaz85guLp58bVtmmb5l+CMRqPJy5fe1P969qrZER26yM7BIGkuGtngIRsMR0ffFfWtdjep/YatmB3RoaPsHPY6F9PEoVXLTjRLFokpOy2NlQ/nX0r+xP20iYWCVbJTdFiKfthtttjafnHjxccI7tewQ2thtzMPHY60QNqc3jidF624bReLpu7X7GOpj29X87W7hb061NNMs82k1R0UiqWnweQcGW56xSZd2SyAl2aTWjdvKlpzm/58rp2zWDV6UMP56OZceB8LlPU6yzxxiOuJN5l8Oh2c5coNC6fjMx4fKfvvszQVHDjf8BiOH/97+nM6yB5SpwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDL/B9n0iy4KZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCjw8L0NvbG9yU3BhY2UvRGV2aWNlUkdCL1NNYXNrIDQgMCBSL1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDgyOC9IZWlnaHQgMjUzL0JpdHNQZXJDb21wb25lbnQKOC9EZWNvZGVQYXJtczw8L0JpdHNQZXJDb21wb25lbnQgOC9Db2xvcnMgMy9Db2x1bW5zIDgyOC9QcmVkaWN0b3IgMTU+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoCjE4NDg+PgpzdHJlYW0KeNrt3Gtu2zoQgNG48JK6/xVkT6qBAEZao7FEkeLM8Bz0133gOpRIfqJyfdu27QMAgNh+GQIAANEGAIBoAwAQbQAAiDYAAEQbAIBoAwBAtAEAINoAAEQbAACiDQBAtAEAINoAABBtAACiDQAA0QYAgGgDABBtAACINgAARBsAgGgDAEC0AQCINgAARBsAAKINAEC0AQAg2gAAEG0AAKINAADRBgAg2gAAEG0AAIg2AADRBgCAaAMAQLQBAIg2AABEGwAAog0AQLQBACDaAABEGwAAog0AANEGACDaAAAQbQAAiDYAANEGAIBoAwAQbQAAiDYAAEQbAIBoAwBAtAEAINoAAEQbAACiDQAA0QYAINoAABBtAACiDQAA0QYAgGgDABBtAACINgAARBsAgGgDAEC0AQCINgAARBsAAKINAEC0AQAg2gAAEG0AAKINAADRBgCAaAMAEG0AAIg2AADRBgCAaAMAQLQBABRzNwSF3W6/f/4Htu1zzR88rKpXBNPHzW8Zp8P9sG2bUVh5wa034fMWmyUYc8cUsJ7zAydtqy+1j3+30jzPXmzAcxYvniANq5mhK8/vtKWf1TLFSg0lbzxz4eTWYADrcdJmhTUmQOhJ7dzIAPLFSVvWRyjjAHgew64h2jDxUvI0CboNO4how2RDeoJuM4yINubNsWKJoHjAYmg1cwog2lBsum34JxedwDWrmW5LmQS+XHeFXJMC4y6EsWWRBWfQrd6w0Jl0HTcIg5mLr/yoOSHNQyCF52Ll4Kd5kff96qKNlMVm7gGpK2TP6qcz+oav8UzE77QVKTa/DgVU6g+aN4KGMXTMKdq4qNjkGqDbODmGuk20MXbOyDXAakmvDcKoijY8jAJY33Kkm24TbfSfKlY0AEZsGbpNtNFtknglCugMdJtoI0GxGS4AdLBow3wDoPI+snMrcdgm2mifGIoNgIDbE6LNlFBsAAxhTxFtmF0AlNpZHLaJNkwGAJwIINpMKgDotMU4XxBt7JoGig0AEG0A5H6y5TyHbaKNDhPAMRsAQboN0YYpBEACDttEGwC0JIIn276Mp2jD8woAINo88QB4suWqrcd1EW0AcKwMPNmyrLshyPWsA1ByaXKQA285aQv3EImdDFa7mfevjSadBU20ARYyuHoKPFrt64/JmIJzh+m8HhUH7Lo0/6xWLhZVl6DmW92ODqINJDWEvtWvyTVzELweBcBTE8ZZtAGAkgDRlotf+ACsbBZPEG0AVE5D6QaiLQrn/4C16226GXBEGwAkoNsQbQDQ6OIXBbqNZfmeNmjZKrzOZoX7fP+t/voF1KM/pDmIaAN2PdnbM3Crv3Zbl/+iboP/8XoUGjcV72hwq5/3CK/nH5cARFvu5RJXDRa5mY/WmwmIaAOAmXnk1A1E2/yHSIMA0HHBdNiGaAMAD7og2gBAt8Xj5FK0AcCobtMZiDY84gAAog0ASMXbatHmjgfAyjmftz2iDXMGABBtAMB4zjtFGwCc5R0Fog0PKwBAFHdDIOmgr9djj6Q3dpkfBOxNNThpc/fD2ND5yPn2qswPYlHFMIo2Os+Nx18xYShZbBlzR5xhb7I3BeT1qGca4ECxPf6uyYu9iSmctAEhYsiHBBBtgCRSbG4bEG0AJTZgZQCINoDoebT/I/mNH3cLiDYgvf1BE2onVmyL3HUg2gASd5uDnMhcHfjOV34Ak7fkWSclR4PAiY5ig7mctAGdHY2bKXuzYgueazsvkOvCUpy0AUO67VAVXXnk1tCIyiBsTINoA7i62y5It7YgUGxhW82lQbQBTOu2QenWfH4jC86P4bi7y0VBtAFM7rbviXBmbz7ZGbIAEG2AbmsMr7ch1etASLEFv6kMAqINYNQW2yWnrnlJpwkUGwTkKz8Ae+1fH1ITuItAtAF23E8fDz0NbbweBSaEkf8VERcIjnLSBjaSOUMXZ/Rcx8iD4IANnpy0AZNDYeKpmxoQkZDIbds2owDvp8pLWNhURo+wJih/FVwXEG2AaNAEQDVejwKBPKOqb71pNUC0AYytt7aGU2mAaAOY33AAC/KVHwAAog0AANEGACDaAAAQbQAAiDYAANEGAIBoAwBAtAEAiDYAAEQbAIBoAwBAtAEAINoAAEQbAACiDQAA0QYAINoAABBtAACINgAA0QYAgGgDABBtAACINgAARBsAgGgDAEC0AQAg2gAARBsAAKINAEC0AQAg2gAAEG0AAKINAADRBgCAaAMAEG0AAIg2AABEGwCAaAMAQLQBAIg2AABEGwAAog0AQLQBACDaAAAQbQAAog0AANEGACDaAAAQbQAAiDYAANEGAIBoAwBAtAEAiDYAAEQbAACiDQBAtAEAINoAAEQbAACiDQAA0QYAINoAABBtAACINgAA0QYAgGgDABBtAACINgAARBsAgGgDAEC0AQAg2gAARBsAAKINAADRBgAg2gAAEG0AAKINAIBI/gCkqoRBCmVuZHN0cmVhbQplbmRvYmoKOCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDMzNT4+CnN0cmVhbQp42nVSuW7DMAzd+xX8ASkkdQOChqIH2i2ot6JDEttdahSZ+vsl5QRNL9gESYt875EyHIEA5SFILC/CYZHsXuz1X38EW0p08CGZKdbHAAv4mM/JGzzB9o8uKtkKhSudMaImxMCxWJbmlGwMUQVsHhaEm3cBuR5gc0fA3qacCIYZYpCqBIbI2cAMw/hcETkjjR4pRsTZiZfYiydE9PkUT0hh3wirxKn39NrduHqcTzn1WnTiR9eML1WLmq8rhnD0GsXUCda8vQyPXSslyxS8auWiYgsYTjaXcNK6Ky3UH3KmZly9pG+GM8nJdOjGPF/4sZMZ7613Tlbh2WLI3+FVmUxGblqpShHIJKNgZsQ9qSmJ0KOXMyXTrekWAn5NQ7aEwDpNJsuBZJiA1sn1r3SZm8m1b1qXtCKKRKSZRO7u8su0P590/Nvh10+yvfoE0oSRswplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzQ+PgpzdHJlYW0KeNpTKFQwVDAAQkMFcyMgMlBIzgXy3IE4nSAdyAUAh+oMRwplbmRzdHJlYW0KZW5kb2JqCjI4IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNzYwPj4Kc3RyZWFtCnja7Zk7b9swEMf3fgp+AbH34OsAQ0OBNkC3tN6KDo4ldWmGdOnX71GSJZm24SBxlkZIYlJ0cg/qfvofHfNk0IB+oYmk32D2j3p1pz+/TsZPW/PxCxp0ll0gs+0MC1kSb6oYbQQx2+bHBoAQIBFADAAPLQDjPH/A+uf2q/m8NWAJkr5ydPrqUjDf7s4s/pn8ipVAIbsFU2EUy5QGj9ju6wqRQ3ae6irpEraAO9QRAEUAHesYdK0Z5porhjAFc5zi7MoF1wdz6vAmaWgQlpw/WG3qSoLb5G0CbFwtmyGJXVP7Mafg6opifkOkJhxXJQE++DFLXafpt8exz1w3abD4jLTJppPw2hcmzQvLWj3idD8J2dKUNxB14230OUZwqU5Djqi5QMdzLvt2uHv5rvp0NpWlQ4nWRT5yqM7qyomMMw+wzt7X7FrR9PWPUpRpW/7dLTggb9GHkoTMKiWFHnahdiMB+VmmFX+45FgTTI+66yCADSkVHi9u1YrHCsVFKI5r9k2w4GgRscSiVSyYsyJoM4HczorXK2EEcq7X+R6QrBBZ75teM2kU06wdHOqKN4MmuszQXi0fuJqF9eqWoNN4QxnvCtB7gOC4Ql8LQdkYerFAMluvJGpDBHvfP+tzi3vQgL6nu1CrZU9HTKXtDm7Z1UWwktwU9rKvC2FsbHu9aoaGVcLVHVeTzL6wvSK2zm4HdCjLCzt8C1FLZIWlpKOZRI3wcDDV5dDTHTcjKIuTUHGGHbQNdpI7w54uDuOxcHkUDEMD+RxV88l65iLgFbn/rOCPqvHVBV8IGIOzycdDrWuAUXKVgvZn0A21m+taO7DnCBczljY7uqFwMQaV9emk1y2Fi6FAU/mbzmMX4l/6SGwFSh8rTevshd2nMlvU6wKF26kVU7IxxBKJ/pMJyb1c08zq0h+18OpHq2exWPpZsVhnr8HiqGbPYDGOT8ayJG/+ZqkKwdvIzjyqnTRf/jbfzf05NfI2OPUVYrQpHf4j4Lj0df/hH6NjmbYKZW5kc3RyZWFtCmVuZG9iagozMSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDExMD4+CnN0cmVhbQp42lMoVDBUMABCQwVzIyAyUEjOBfLcgTgdJ12ooGdsaWGqUA7k6ZqZmeqZG5so5CqYmFkguDkKwQqBCk4hCvpuhgqWepZmRmYKIWlgDebmehYWFgohKdE2BoYmxiBsFxvipeAaArchkAsAV8Qf1QplbmRzdHJlYW0KZW5kb2JqCjM0IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDY1Pj4Kc3RyZWFtCnjadZO9btwwDMf3PoVewCqpL5qAoaFAW6BbUG9FB/t8l6UZMuX1Q0rU5ZL0zmdIlMk/f5RE9+zQgTzoKMgf3OlJrJ/yPn4an51nLtG9iDWxTyW7J5fKPIx/7rd7cN9W9/UHOvZcQnHrxaUQfYrkpkB+5uzW488CEBAgg/wSwFYA9jNAlLWN69/1V5PA5GMqQTVkyiGJRPSMaBJzAKCiYS3k+/qesAQfCg1Es94x3iSIlD2W4iaE4stgnDvTjp13Y2HOb7w67xDGHG/Knq6SmTzNyTQlDqO8eK6TaC+ALGqXKCsAmOcal25GqkE/N0fgjoNHAtHsHkXmqQdCmm0u0nmvrIHUK1DX7egjXMzG5qrV4RHrlDRgO2pauoSkaD4qKbfCbANRYmSuARf9WrMMp8PyUxd4c5bUnwtuoppgJBGwNua9jxp1pBFhZJLLFkSMlvvoSPezq7r6RKNgbjs5tumm5GsyMiaEkFI7arleiJ6z3eZWkqCLSEXdFUHPxqMsgcLSa9SaAkVT/f9pDo9z+XCeQ0hP9v6pjvDTUdHukigozp7H4UAIl9E0N+0dec7WPCV7iunaPWbea/EinUTSn4Wkx+fZduV8+pjj4csrhNn7LwplbmRzdHJlYW0KZW5kb2JqCjM3IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjcxPj4Kc3RyZWFtCnjabVG7bsMwDNz7FfwBqdSLkgBDQ4G2QLeg3ooObmRnaYZM+f1QL8NAC1k4Uj6SuhPcQAHyUuA1fwjnK2fvvC87vszw/KYgykiaYN74UAdpo4E5f02IOqDKFhUR4mYYObaMChFt6PGKyv2kOHHoa0mlLrkhbj1XlYqGMZskbClYcrJTa8EjKqe05NuOXOslCe2ZjEvcyTxPYY2TMNNxAJND+bOe69Z6O2BO3/MHvM5wA2licHAvgq306OEKlsJIfuETTn/cOlYJIie9sb1uT1vlP74K8l6GEJqz4y7GRUlsNw7DWYRZm6BI1SDXNcfYjeh6kiBn6xslETqneoCF24xsLY6mDgeGptPTA53Me1YKZW5kc3RyZWFtCmVuZG9iago0MCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ4MT4+CnN0cmVhbQp42rWUv24bMQzG9z4FX8AqKVL/gOCGAm2AbmlvKzo4d+cszZAuef180umS2E6ADI5tWaZOJj/+RJEeSIjxFkoeH6bpHtY1xt3Z/ECulKj0CGtXnMVA92Qxb8Y/+k039G2krz+EiivRRxoPZF6daaKdTy6XQOP854rZC3NgvIx5H5lvF2bF2r4Mf8efzYWYU4u++hBxXBQu1BWR7uJ2GXbC+DEvg2HKvv31+3isNHrnY9qkdutI66tAyuxyFoLj6OIWSAapARYbfGj2i95kAxIrV1V5zyAzT0gthJe1ZH3umcJjl/oM2QlwMcQpvjUK/bp+Y/H/3RuikaSk9XkTLMvM3h8wT2dhLhAOhxBDOonJlgdQkFIG8TAPyhKNRRaWCQO1hWcsIZ9KagH0VcEgHY9j2BzjWKWsx+252agebusg72u6Uxs95XWe9cKEvRaX+Izw/CmEI/bZSUxck1bmlSxKqZLcTE0NTYO9lw8BjskV65fRm10YlnJywdIprOVTYAVXKqyjmPWWiWKYtpr0tU5QsEgVdlyx1Xrcz6iV7Q4D3lqpGoedVnsedlbJTug1G+3qThrtj5BWDS4VeZc0epWWHHqvitis9tysuvleZ0Uzq7sSGmvOG+wzVTdfngCmh0iqCmVuZHN0cmVhbQplbmRvYmoKNDMgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyOTI+PgpzdHJlYW0KeNptUctOxDAMvPMV/oEEO+9IVQ5IgMRtRW+IQ7tpubCHPfH7OK+qEqiNxk5m7HgCdyBA/gi84h/heuPsldfXgU8zPL4QRBmdcjDvvKmCNFHDnD8mRBWQskFyDnHXjBwbRkJEE3q8Idk1xYlDXyWVuuSGuPecKhU1Y9ZJmCJYcjJTK8EtKqeU5NuOXKklCeWZjEs8yNyPsMZJ6OncgMmhnGzXupTaT5jT5/wGzzPcQeoYLPyUgY306OEGxoWRfMM7XP64dVYJ56z02nTdkTblP74K570MITRnadvrXTRGGTQfd795Br21eaKr/tg+cozdBx6jjJOEs2wHrsVPU+0vDpwUzgwFaxWNOvxsq20+l311sE/vkJOgVnE4Njy4PPwCETyG5AplbmRzdHJlYW0KZW5kb2JqCjQ2IDAgb2JqCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMzMzI+PgpzdHJlYW0KPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDpmMDkzZGI4Ni0xNThhLTQ2NDktOTMzYi1lYmVhOGY3MjViY2UiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MWY5MjFkYzctMWM1MC00NDhlLWE4NmQtNWZiMjU2NjNmNDkyIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MGIxM2VmMTAtMWMwNy00ZGI2LWIwYjgtY2Y5MzBhNDFiYTAzIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNzI2NjUwNjE1Njk2MTQ5IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NzNiYTA5NjktZjRjYy00NDc3LWFiMjMtMGZjYzc1Y2NiYjQ1IgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyNC0wOS0xOFQxMToxMDoxNSswMjowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4KZW5kc3RyZWFtCmVuZG9iago0NyAwIG9iago8PC9Db2xvclNwYWNlL0RldmljZVJHQi9NZXRhZGF0YSA0NiAwIFIvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggNDMwL0hlaWdodAo0OTUvQml0c1BlckNvbXBvbmVudCA4L0RlY29kZVBhcm1zPDwvQml0c1BlckNvbXBvbmVudCA4L0NvbG9ycyAzL0NvbHVtbnMgNDMwL1ByZWRpY3RvcgoxNT4+L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzgxNDI+PgpzdHJlYW0KeNrsnQdYFEcbx7dch4M76tF771JULKigYu8lRqOxaxJLNLHHxMQae+8l1tixIGIBKwgignSlSu/1+u5+dxRFBQKWL8X3l3vyyN3M7uzM7H/ed2Z3XlQkkiAAAACfNxhUAQAAAEghAAAASCEAAABIIQAAAEghAAAASCEAAABIIQAAAEghAAAASCEAAABIIQAAAEghAAAASCEAAEAjaB+Yn1JS93+KJCkMQ+l0Go2GK/6hAOoXAID/M3VaJJcTMpm8TpQaQFoQJdoHnrJOB0mSRBCUw2EqRBBaAgCAvxGF3uG44oMxmXSFIIpEUoVEYZjCA1boINWcGr6/FL6yBAmCVJySxWJAGwAA8M9ye2k4l8sWi6USiUwhjgoLsU4rP5oU1tmDdTqoEEGFFEKlAwDwz0ShUQr5UwgigtSpYRO24ftIYa1TrNBBUqGDDAYNdBAAgH84CplSSJZUKkdq5bDWNnwjwfutINe7xgplZbOZUMsAAPzzUYiVQrIUwqV0aRHq41iFda6xqirroxZVdHJY/zEXpU38ggtm3zo+9d5Mj3OdIyImODazNlN1YpHufP7FjB97tXLekqpOfZwpM7Oz1XpnSJCGTzRcFDF979MVVi3VEVUevGTZ1F3JWvN3hS+xoP2f2pQsTkpMo5l4WqqiCJmwamrL1QIAQIMaMqqrxa8WlD9cCpVLxnXPzXxcG7b7srVB00jlP+UpW8btT/CftXO8ofIGR5kmjji3vMMXIgveR3xER5awdtDiwvWXLo7hvKcm5Yas2fLSc9PWdcOMaf+/BpXcWDJ7juaql3u9FJqv7vSxqwUA/qMoJEshXHXyVbug/BGkkFLo68cuJyZw9RDUG2XIOSaWZeHUq1cjo2zA5AMD/t6apEgCwfDXNUhV1VSjmj06WZtptnKqgRAKKQ6n/ppIOYHQ8A97zB0zaFO11PYCeLAe+GxhMum1j9d8HAdZaRXSaLT/7yWQKeumu/7pXecJUlWph5dsX3c6LkOkYtXVb9G6yV/YveGtS59fGeW7JcF/ecjuzvqYLOPKH/N+uXozsYppaNNv+pR1s1y0yq8NMFx1VYIg43qz/1yaF9Cb19yZpU9mWv0sXDJb7Y+te8PLMU39DiMn7VrvZx6x1cr3TCaBRDr3OLVkn8KVJtPu/zL/0B8hGcWoul03/2W/fz3Egq4oeebWWY4Xu95aULNqYUDu0PVnNLc5nnDY2iN+8e/Rhaiatd/I3Xv8itetmn8ksYgu6DJ19qFfvAQKuaJEz47vX7gh5EFymZjFt+vq//OmiYOM83/vMu7HR3IEmce+2PdK9gKLza+rRdpMAbJ3zrU76bJv8Iuffn3wQsLWd/SctXH+D13UwZQEPjcUwkWSYop62x54H/ugbt4Rx/+++4gsPDb+++kBtBEbfgs8Pbl72bXxA3bdrmnst96fOXBzpOecK9sVOkiVBW/tOfJCvvdXxy6t3PoV//7SH/qtfi7j9zydtXK8DrPvnvP5J315fyH/1ecX7ojuMCPo0d6LSywz9q2dsT8P957+9MHX7dgWSx5cCl9igVdEzu3z09Y0i+8PrLl0YLRz2tnRfbYGl9cPPkRG4IwlKS5zFmz7ykDh8ssiTy26Z7fx5r67+7rRbx0Y6PztGkmfQze2Hhqn8mDdpg0RynUuycMDQydfr/Sdcur61sD9I6yTTo2bfaMA058dfGZ/P6bWuN/yU7/v2cg0p1osgDz2zHf76dOO74y69cMoxuMl4/bfFsN9AXx2KISrzq/9GFZhrRq24r06QlwjlVPN/IiidBaL+V4z/fLoi6uv0Sde/nWFn9IS7GpWGe569nzkd551xSuLWTLktwCDSdf/6GelUAoy7/DKa1WDFj/c3ENbUeQebjaSKR22ngmeu7i/GouBInSOijrnL+uBQDpMOLHO30gxdrh9M+vcw98T8uS4HpfLwBGcxVVVZaK5R08dyXVYFbNwlrkikaevC5rusnfj2Qk9J/OV+bOF3geX/9KNpbTRFIXEHZYcnvqFCYZ4a397LPCbbP9dm/t5KEpr88WZfb+lpEqQDnh5Ce785dRf1vRxVJbOwTA19PIfL7MJTFdVhUNHMAZbncukIeSrZsk701IBSBFv7N7F87owFYeyXx51fEhWUjHpawi+MvB5Ub+I/K61+F4zZhRFUX+VSHhp4phhf5Q0K4UIym4/Lerel3ZtVkMy52FsmprHhi71HjFuPfpu8VCESZP+qTCl0reNXnItSua12ttZpc5Wehb6BOswyYUjFNcZjmZdXfR+j3uaTva3asNYYt+jnX6dbmCqmjz0nRqQP32YJG83foBpvbhgpp0Gu+1aFf5cNtlLebVc554dX7vwuMDSpe5wqCqfi7EcbRzq7DuGCk8FzSOULzLqDpxxbqByQClMy3melPhnQJaccm++3v+qAGpOvl71Tz7hPDUemv3XbQgA/0Xq3hf+KHOFrUnF9h7by+X8qaiqplOjNO0+U7pavI9VSJUWVaI6Gjqv82JMjlJlpMqHW+LvCoctH/Pgt/X7/hz765d6KFVaViQXhX09WPXrxspmWFFFtuWkGF9DtUULSl5eLka1NLSx1zkE2mh1WXXdw0FY45+UBcAaXzpGb2LxhCqJ2zxn6/qLyUU4z8zGwobORj+kADwuH0xAAGhGxGgf60Dvap1Wj+nXzpL+w04/qabe0UGdwTs3Hv/a6L0WoVGuugpVWlH62jWsSYtKFxnaGCttn/Ybz303iWYXG7z6p5VRA7d7qHJYHExjStDZvT3feStG2rbztvgrTZ3HotJKi0mkXjLJisISim2mQm+wy7G2Ta7WXJ6/ZGG466ag38Z31FHBlGsvdns/pADQ/wGgWfn6pHYCpu0389q5ke1U0bfswcE7Np6YZPK+z2djxl52eqVRVx9J6h3mzMCvfRasiSBqjVFtYx0MFfiu/NG+4NDuzTEyVNvWy6zqzvVEUYN/nX1itafPvjsfedEAd+1ggz95cCWTbCjVg4AnuHsHy/d8LVGeHx1TZTxk5JROCh1U/C3LTC8i/58FAIDPiU/tMmE6CjU8O8KtQQ0VOjhox6YTk00+5D0VhveQ7ztX7J7w82+no+6HBC+a+Ee4vt/47o0PidtMnz7DNG3j4qAszHraPM+ynb8OX3r1yr1nQQe2DJ99m+jq7alMjmEYmZv4/HleDfnBV6o/YvRXgmdLRqzffiU69PK5qcP3PhD4zx+l9Z5VjGvbWrGzLp8/fC8t4UnU4R8XTDhULC/LTcwSymt31qjJyohLK21kcH/sAgAASOFHVsOe3wTVqqFCBwdu33Tyw3SwViaMvv1z/frulYe+WdBrxN5gtf4nA2f6cd9Mw3Fc8Ft39q1DPwfWGE/4KXiHt+zintH+88ave27145rLyx2U75fQLfsPNU3fMNtzTnj1B18nyvfaHLh8plHSmrHz/McdjzIe9ue1Wb3f+y0QVG34hp8W2qb9PHB615G7LmADL9+Y4Yvem/FVwAuC0WFIV8OI3R26HQqTfbICAMDnBCoSSdqaRyRSbv4lEPDbkoksfnTzYpnDWH8DFtQ6AAB/H/n5ZUwm/a335f5vb4xgWu17TYZGAADgc3WQAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAAD+tdCgCv6/UGWPru24XsBy7TlroCHjk5+OzA858f3ywJvxNdquHWes/vYbL1UUGgEAwCr8u5WwOjGuCKPjwpS0DNmnF8K0gLHDjqd7Trpw/ec5JnE/Dt14vpiCRgAAkMK/WwnLM+Lz6ZYdrLXF2fHp8k98NuLZHxcfGA/fuca3k4fblO2zxmL3dp0tJpspGkGQ0EAAOMjA/0MJSxPSCxh6HdzNchOSYuPzpNZG9T4yURV/8+GduMIKnO/sYy4JSdH4cmA3XYyszgu7ER2TXlouZ+pY2PTo7WSudHCpysigLcFon9n+HqotnK0i4lGOjo+7A732T45jT298WliKdLo2q5HhGLtisn9i99nCgJ+vFqE6FsN+XbREM2j691cjSpjWfSYcPjTElQ0NB4BVCHxMJaxMTCilmxqbc7WszVREL175yLLU60GX0thufXuM8DOquR/5TEjKCIU+lt4/eTOiRqdj/x6jB7uaiRJPHo/OUZqSKEPbxMvTWLvlgYwoeZmL6Opr4PV/MwR6auLcotK3XWSq+Ny5kI4LnqYdPT0aPTtzWrctzPlXjsSc7ce+tmvFxWpoNwCsQuBjQpZkxBfQTbz0OShuYK3PjcqMS5NZ29ApUVZELGHT393dio0jOhrSovTASkV6eWZiZKmg62RnRx4NQ0g9vjR737Pol64GZhjT0MpHgNCZLSuvVCRGVLnshnUSVIXLQsRikUIK31w6obkN3/SDpw2OWE72sd8j7LFqYn97GmI7aIz7mWPZZQSiikPjASCFwMeyCUsS0gtxTUcdsqpKiPC09FgpLxQ+so0xraS4kFDvYKzCULYGxjPW1kCVUigqKhdKCoN2n7zecARCjtIqSUUalEZn/WXToQwWC6mpFjdYgVRNlRhhMt7VT1ygrYfX5aAzcW0Tw1pfAaWzmCgCqywASCHwUZWwPD6hnJCSN/b+eeOVWKWmp0uNLeWkQt7QBtMLxbE6ow3DcFTdetg4Z72GaQyKQugqrTbRcE1jfaQwr5REjGrzyAsLqpj6OlowKQIAIIV/m3dclJFYTLPu06ePVf1Kifzlkz8CspU+skCNh2blFxCIuVKypAUlpRRigiAsXb5aTVEZqmrHQ2u19HnApWLr4R3tW/k4IqrevoNhwZWnKYSLg+LAksTQMLnHQhsGNAYAvANYCP8nJSyMzyhm6jvaa/D53LqPlo25FVeWmpArUzNpZ03F34iIzakoykoJupcrV+gYiuL6Fq66ZfcuRMZmlZXkZ4VcjExGuVq1q7+SvNT791PzpH9hFjp+NaRL+pk5a5+kZKSdX7zzCNHt2+FgFAIAWIV/mxIqvOMKjqWblcrrBQuUqedkrfo0Pj1Nbmzfq5soJCrk+CURW9Chs7XutRy6omVoGl4DOstCYm+eSBRhHB0z2wHdbLSUhiMlzkoOCUUZLhZ6Ldp4mNmAI3+Wzfj+Z7ffJBouXVefnzNQE142AYCmnCiRSNLWPCKRVCKRCQR8qL7Wa6GoskZK46hx8MZSRIhqKiW4qpo8OyaP0NfXZlIUhtNLnu77s6bbHD9XlnKlRCxUVDZBIYof6GwOg1abn5QIK4QIR53DBBsPANpIfn4Zk0lnsxngIP8NExFsNa76mzqo9GDZKnwei44SBTGPrj4skLE5qnhVzP0MqYmRad1CL4qzVDjqPC6Pp8JVqddB5eGYHD4fdBAAwEH+T5nmXJdeXqW3Y45suidC2TpmVv26m6uDIwsAIIWfnc0oMO8+2KCTnGxwhOmghAAAUvgZiiGNrUqDl30B4G+7BaEKAAAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAXgEv3v0lsqKEZ3fC0tILa8QInScwcO3i7m35ESIfkXKZjMKZ9NaORlR10tFtLyyn9fPWaP0LymR+yInvlwfejK/Rdu04Y/W333ip1u6IXRN9cPeCbQ8i00Tqjp3mrP9utver/R+okhO/fF0+4+JM3bqSCRPCgiWOg9y4DQnEyWcPzVt540G6lGfbbuKKbxf20qG/nVc98fjeeWtvPUgTqxrb9P922urpDrV7xjZTHkQc33T6VxdfemXh74Fuc7eP1mmuvt4p519831L9tHSNb2R/vmPxD+is8zP1iYc77LqdSiXe/J3ptS9j/WSdv+GFcjL99MBlmseOdn0wafCAI5V1IWpQjKaia+4/Y9rGBV5Grb71pdfXGk1Ej6b/6BP0q2AO92LyHB960yklkfsH7bE5uq+L9r/wFXp86dJlbc0jlxMEQaqqfg6vzBIFYcGHrheqWFu7u1s7WWqqCHPCQ1OqDCytNPAPa24y93bA7hiVjva81mqhuCA6olS9nY0pp7VnJtMuDvE7XNjv24Nr+1g8D5i3KsXuq672HCrnxK9dZz/3XLpwz/Le9gU3Fi+L1h/T3aVeK2qurLupOWWQNx+tF7ep8zaIuk3qUl9O4d2dXYeFCub8eGjVAM+au8vm30AG9uus80Zel6c7uo6+K5g5Z++60f0FaXt+PBgq8PuinSrVdHnQmpDtTaZvuE4y++TqgQse1ngMnNRJvenqeqecf/F9S/WDtniNjbLnBE1dLJu92c+MjpAvI3ccE024sGH3D4OnT2v4TO3WwYTL/htcLzL71PFQx5FjnenPA06d435568KsOdMHT5vo52uQc/TnI9e5PcZ3UGtluYjUB5sC0KFzOlmiFKlh0sXbiNdMB6Tpm2Enfz+m2bOvGf2ffFdXV4tpNJxOx8FBbnWHKk28ElJh7NttoI+di52xrYO1d5+u3UwlT+8+r3gjFBwhk7ddZQmKIshPquPP/rj4wHj4zjW+nTzcpmyfNRa7t+tsMUnkntgZxp34/fbJrk6OTuM2LJlvGrn9WHa9QVMVfa3Uta8Jhsjzb+07NnfonFlXqxtdq/zppYfZ7iM2zm3v5mg37Ofp4/VSLwXlkm/klYcevVncc8rBRT4dnSz9Zv6wZSwr5Ni9bLKZ8iDSZtI3XEZ64PTFSQytZu6/psvZ/Pd/WT8tX2Oj7PEHz2f49+nMafgCZevbWLi4WL7+OOlptMp9oMQi2cdseaos6Cbe20+trspQrq5jbXlc3Z0Hzf1xRT/08a3Y8tbEMqRkIvHrdLhdtyXfdzR9w1onycbHQfmDxlsGb76dS/77bnZwkFtSwsKnKXk887HOmlxWXafCaXS+U2cPSQ5TGbE97eGWYNZgPyQsKJnmM3yUE1r4LOpWeNbLYjHO07H39vJ14TMUvUVYEB78OCKluFKKcbT0XH07drdiZwefP/KokkDurNlSNO679kbCvLAb0THppeVypo6FTY/eTua1JpE4NzH4ZtLz3CqSq+fWXr2hg1GVkUFbgtE+s/09VFvoxxURj3J0fNwd6kZojmNPb3xaWIp0IiM1A7WealYfBRTXd3fhrAxLqkaM1RVG372wXO/hloobWFyWElcgFlg56uQ03uicJEmUhtff4CiNQUcJkqq7HerzYqJ4jklvT7sGP55hYMxHo8U1ZDPlmeYoaTJ93UFlmdunHhJ+N3fKuV8uNS2FTZez2e+lT2Zafn9l8KbULSZNl2d6+xausdHESdIfp2T9jpn/5S1E5V3saXvdP2rHfEulikhvrjebQB5K+7GX7NYww4CuV4dmLN11yXpe4m6Psjsn5y68GBhbiuiY954ybdMCD32cTFg1rduTjt8jd7eH5lRx9L36DV+3rn+tu0+VRQYs/CngemROuYpR93ET1i/rYlHbqFRxRDDhsbkZNxVFUZa6am147KaPoCihxQ+8Q2vQjXMucX46eUKjwf+9usrgO845hYNMho4UnHba1yns+4NBBZiOrcc3mxcs7a40FlV8fDpNO346s88cMwyk8D+DNDu7iikQ6LMadymUY2TRQQ+howgllxNVqTfCDVx7dDU1ptUk3j0WWG7e1WOogCHJT7sXFHQRGzTCif7iZkhIvqHfQDcdhqzwWfTNgGiTOZ1Nu/iPkF07X+k0ta8Zjyq9f/JmFNuuW39XdaQmPeLJyePyCZPa6YvTLp2IyNF37DFEl1WVExaakE1qWNaWgaFt4uWJaLfcekTJy1xEt9sru4Qh0FMTxxWVog662tS9lFw5oqYUAbIk+XmVVFJSSCDquOR+YF77iSbKLCy7GVvsFH78pvh7xxt1GPfhvhYHzi09Yv9rL7WMUweP5NvO729Qe4qGvCg+dPuOoa9y1CQdP5up5+NkhpScbLI8iHrT6ZXpZDEb126gj7v9remFc81cZtPlbP57XK//3AnWdnp4c/VDtXCNjWr3+ZPQCptf7PDGtl3+i4x4SaPwNSyeuQWf2VIbvdy14Pqo2cuudLHCk8+OHHxCOnF24D5L5Nm1H2YvHkbbc+9HE+WYFnB0W6/x26920i8IXzl70wCh+tPDXTXSL33R75Bk8qyTG6w4OY9/n7Oid+nKxzu8eChVdvORyHf665ix1UVJ8elKoSLEWXfP/HzbYNpFD45yfqDpIyh/yr+1aKv3t3s2+bVjIw+anEJPWbdIZfHeA7ttRdcXL/926jHfhG+9Ff2JbdPRIe3S3crZZjwUpPA/AiWpESNMHeZbdYTiNGZt/1d6lBLMxNvNzZhJw2oiwzOZrn5+7rpsHKUM+LSS/LNPMqsczVlGtj3tLV1MOTSUEqB54fEVFVKExuEo/kYwBk+diaQ9jiwVdJ3s7MijYQipx5dm73sW/dKFU5CQghoP8HeyV6OhpJaaqPjwnXovlmlo5SNA6MyWyy8ViRFVLruhR6IqXBYiFotw81FjrTeu2bLQ+bvJzsizY7tXPSAQF7nSQ5PEX02xHePUklPH7jBq7ZjQwVOmHaOULmH7ZVum2NXec03kpaqTQn6asmm3qNefC5xZVELT5VEep6n0CjMz4o/Ju9V+DhloScv9eNPjen3nTuirvJlLmiuPfnPX2HiJIPHFC2Mby8ZzYvIXG/qN39D47nKaEPl4kktLUlghGDV7+XABhhCRWy5F2nwRta6XUl0dZxx8Geu2PzBi7gyeIplah9UHxw/RVZTU8giVYT8u4MIab4/D5+87j0/8zddIUTR74z2/J1uMC7y51ms4V3jrWk33n16vL0nv7e/ssv/VnJiu39e9zRW1S8Q0c4SByrhkjD6/zRjvpuz7zcRVpDzn/rDAX3mWCd/6rPUvqHeKUTUrS05iTJYc4dFBCv8joDQmA5FI5G97RoSkvFxKV+cqw3Di6gJ9NkNRi2RlYRlRnHNj8+NGsyj86iqKoW9vhWfmPnlQXlJWmZ+ZU0bqvHVAUVG5UFIYtPvk9YashBylVRLF+ZWIrqUFn1G7pTVLYKbDv5vXUDQ66y+bDmWwWEhN9avJHqqmSiHtDCaCW8xdeYXatmDpj/srVB36Dl3yddGPSSwVFJE9Do937uTWUheWPV7545c3LDfd2TLOlV3w4Oz08QtG6O+6MsWAfCuvvPjWuvVTV0cz+k68cX5EJ4WzJm+uPM2kr3n2y9Qg01U7J5hiCPEp2re58jR7jXjjaeSCcoKnxm+skHTH3xPqveA3NKOFMmB8J6e6pXJxUnyBlpejZf05MPOO9jorMpIqqA6Ku9TWuWP9VCnK6+TmSh5+9lzCT8kV3t1uzd3xqtdIKcfcMoUgRV8rcpnfyD9l9lmUfblvbaxDUpibeOCbZQP6E6HhYzOaPYIij5mLTYs9DNN0cdbA6o1fBrORKczXUCl9XqZoMZDC/wwsXV2OJL2giDQUNOre8vSIfafKvWf071A7edhgNGIYjpn2GDDIvr4DKOeWcIYaWv3s4tVr+ep2Dgb6pubWZuzrVyvf7lQYjqpbDxvn/NqjoRC6Cp6bjqAo9iq0E8qit+0JHlzTWB8pzCslEaPajPLCgiqmvk7tnafh88Py8B/q0onPjznENtHXxYjowBT7flNaiicqi//jYJrbDytndNJWHEat11frp4R02nc7ZeKYqsZ5pVn7v5g7+7HpvD8PL+6rx/rL8jSVnixKfJicf3/sUHxsw9kfjaGv9DtXuHwI86OYh82Uh4hf1/Q1jmvkDaMsNgORSiWvTdo2rJfJqdeNqlJvlVK1s3iNlRpDlROz72oQjqMkQaIsFl1j7Ircgx3fai/htbCXHYdYN91XMI6+w4zFvXd2u3816Uv3Zo4gTVGUi8lpWRtQOpPR9JVLJXIGm/GvW5CFFeSW7hUDB1ONspQ7cTWNOqQ4KfqlmKdj2PAcXn33xdQEmlhxkZCjjE6n+LArYsKCnlVRFRmPU+mu/Xx6dbJ1dTA24WEE9a7i8tVqyspQ1dqMXHUk/86luCwZpqHFpQoKXjb4J6Kc4jKqLcVH1dt3MCy4/zSFqPfoQsPkHp1sGIgsfOMvX25OrF9MqHocEIp08nNgytOuRhr27dDyWI7TaJRY/MpnIsViGUWn0d7ISyZvX/P9E6f9d9eteKWDLZWn6fSYYb8/40+9SKn9JG1e4Mp0nr8p+el3vRgfyypsrjzNXOObmdUMtLlFpYWtXCqlZJL645Ev4zMqmmhHto29TlFEfFq9/UtmPEoo0DW1rX2kSZ70LLykPk/lw6fRiLGDJcPBzVwUFfesfuWZKgrY4jvu8nNC+iAwx6uPWQs6RoolYgqn02nNHOEDq5VQjCgCI22Qwv8UDAMHX3d26pXAUzeTEtKLcrIywy9dv5KM23ayM3y7r7Gt3Uzw+LCAsJe5JRWZUQ8uh1Wq6nBxGoONiQvzq2UUUZWbGhz8opyS1tQQdcYEKaypEMsRfQtX3bJ7FyJjs8pK8rNCLkYmo1wtFqphb2VGpAUGxL/IL89LiQm4k082DMOSvNT791PzpH8h5Y5fDemSfmbO2icpGWnnF+88QnT7drjCCKNZmCAhKzYtOpecGP1o/YQt5zT7/zCURyY9fGjcoXPLT4vSbb8cZxr7+9qlp+MTU9JCD2/9bn+lz3gf0+eN8hIvL5xO1unR3iA74cGDZ3WfsGfFkubK01x6moq+uYGFRe3HXFeTibI0dc3NNFQ+cDaezA/admxbcD7ZXHmauUaLN+0suruzh6JVGo9Odcsm8emNPpnZlRSqpqXHyji9815CXknS9WMz1ic09eAM7v7VgHaJJyctvhWRnBV5du+kdanOU/q1rx1cqMrwpZOPX43OiL528us5N8n+A4cZ0ExHDelXfG7St5duxWbH3zw1afa1agd7M3lCYJJNP9c3ylq3bFJbnrTIW1fnzr9W6OwzwKqZI3zgywNEdnQco2Nnk3+dvwkOcstiwrbw6TZcLe5RbMylRyIZylDXFbj39+7gwMWRt+avUFVr90G+0Xci7x28TbD52jZ+nX3MGChu1s2v8PrDGzvuY+p6Ru5d23vcDr93LMJoVkddYz2Np1E794kmfOPhNaCzLCT25olEEcbRMbMd0M1GC0cwnmWfQeLbD5IDDj2Wqei283Fj3Eytv+eykkNCUYaLhV6LJhJmNuDIn2Uzvv/Z7TeJhkvX1efnDKydMdIeOudM1pa58+YckGm369731JWxXVTI5Guxen2Gq/5FjdDdF68NYO36ZcWynS8lPHMb/9XrV08RpK1vlJfIS0mTp0au8jncaFDp9F1i6EjzJssjbT79pxip5bmXft9/ZbDD9F4CetP10+Q16r9VFpTv3s/zwO2Hwq8HqTS3bKLwM0edDjw11Pu3vYMmLljnvrdKwjafsmSg6/YmTC/cbuSZ87I5i3b4bS1HdMz9Z63c/IM5HVGanYxuX610i53b83AeU8+z77eX13dXrqAIeuy/VD1v3vERHbdSOqa+E38+M9+CitgV49hhzZuWfaNlExRnqVn7DT+77QsnWtNHoDW7TtK6gSY35m6p+5z29H/dvY6KRJK25hGJpBKJTCDgfx5ySBFSqUgskyufLENxhZnHYrDq3paTiStqEA6P9arZCamkNiWCYjiDxWQxMKXpJ5XUiGUEiWA0GpNFI4ViCUVTVWfhMklVjZTAGFw1Jo0ixEJFpRINwT/ro79TcpmithWZKZTG5NAooQzjclgYQkqEFUKEow5R4f/OjlEesLLDyY4PT/q28k1IUlRVQarwVdrUZmTCqqle9walBg7Q/Rc8nEKmbZ49rHDmo1V2jH9wKfPzy5hMOpvNAKuwbaMFzmCqMpqaqKez1HlvDuxNpcQYTG7jL9Ua3likM9V4zFcnYalwWO+em0bncBsNsOr1/8aYHD4TmuZv7hi8vuOm7tpyMLn7fNtWqRvG5v7HzQdR3M4A7YUnbRn/wrKDUQEA7wvd5NtN/VmpRZ/0NTOWrpGzudq/wmaRphaZLZo5QoD+GxsTHGQAAD4vmnSQwSoEAAAAKQQAAAApBAAAACkEAAAAKQQAAAApBAAAACkEAAAAKQQAAAApBAAAeAW8g/xfo0fcbaiEt7jt2AMqAQCrEAAAAKzCBkR5z+/eSUzMKq+SoRy+trW7Ww8vXZUPf3OcJCRyhM7AWz2qkBnXzpyWes8bZNRol0xR1LGzT8yaD3kOAABYhR+OJOvxH4cfpWJ6nr6dhw5s39GKlnH7+rE7xR8eiJtIC9u6MzKrLZuTEHKKkr+1eafiC4qQUdAjAQCswk8GUXTvcrzYrvMXPY3UGTiOUqSVoSH91tHwmKT2vk6NtrAnFYL0KhZ4aw9OUBRKQFcCAJDCfzjyrJSYck2v4SbaKg3x42g0Q1dXX7SSrTDEWDWPjlzIdOtjlREWmq8/aoo7Pz/p5u2k1JwqMUPN1MW1l49JbdhwoiThyfW7qZklYpKuom/r5O9vq51+d8PpNBGJHF9T0n3KgC7aROGzqFvhWS+LxThPx97by9eFr9wJiKxODn10Ny6/SEjTsXOykzdTUFlp1IXQO0lVFJdv5tLOv7M+PfnO1ivowFldbWr3ExLFh2wNog+d1Un3adCWYLTPbH8PVejDAAAOcqugyl8Wi9S1jDVpjScGMXX9dh2sTVXRWueUzL4f+Zxn26+PlWZF0tljT4o0bfxH+A3zNUUT7hwNyhEr1Kwk8eLFVNLGc8SY3qP8LWjPHwVGVeHmXpMHmHK4FkOn+3lqoDWJD44F5rMdPYaO7uHvyskMCrr4TEghRO6dm2ciq3U9vYcP9bCRJt5JEDXlCVNFkRGxLJt+w316OrFz7906E1FJN9Q3JHMSM+u0U5Ial4ObGRrSUIa2iZensTas/wMAWIWtl0KhUIow2Spv+b3Kjfprv1LKEiXlm/Zob8ZnoIWhCVma9l/7WOkwMZTU0qZK9l5LTu1pYIdwbbt6mrmb6jJRhFAri417UC4k6bo8NqY4FJvHYaHVj8Izma5+fu66bIUTbsCnleSffZJZZav2+EmFjmcfX3dNFo6Y6GIl2aFJTZUT1bHp7WMpYGKUsSaz4urZqOeFHnY2ho9CkgrkVga4OCcug2YxSI+lUG9DKx8BQoc9/QEApLDVoAwGDZFIpW9H7yZqyqplLC5PGVIE5epoabBomMILLqqS5Tw9uCmmQaBIAtEuF1IY38DVtjg9Pj6ppKq0qDAtnWBovmnbUZWFZURxzo3Nj19lJSl+dWWlvFCsYmSuqcJQKi+uZmAqwJuSQlTNQCDg0JVNgquYmWnS4sqKKLaFjU7wvaxswkD3RXoG03CIGVN5ETQ6C0xCAAApbJMU8gV8RljhyypKX/21FlKi9Eu7HpB9R49xUaahMxj1sd1xnGXrNaWXXr0RSSn+wzlqqDQ75uiJZMTc3MZIy8bUVBe5FfXObAOGY6Y9Bgyyrw/GRFHKyE9cIln52yvvXGGNMpqZl8CwVz/QaBiKkgpLUc3SyODGs8Qc16q4PJZlNzOwBAHgE/BZPEzDMDW3VikKv5cjbGTClcc9T6c0jQ3obz5ZiGnrqMuLKiRqXB5P+aEXxF8KeVmNkpnRyWVGrsP6uXVsZ25rocl+d7YPUxNoYsVFQg6vLi+7IiYs6FkVqqquwRS+fFlTn4Moy8lvct2EqswpqmhIlJdZIufztHGFrWhopS95Hh0Tm8mystdlQJ8FAJDC9zQL2QZdupuhMSGHz0U/ScrPycmLuxd6/EahmouTq+bbkb41Ha3MREkBV5PTCioL054FXHsu4vEV1iSTxSDKSotEJCGuSg27dz+LkNWIpHXKJRVV1chkFNvazQSPDwsIe5lbUpEZ9eByWKWqDhen67s6qubfvRP8rLCwsOBp0IOYyqarXZ4dGxCSkVNUmhb5IOCJxNjVQgtTxpq3sdKsiklMUzF0MKy3NyV5qffvp+ZJoQMDADjIbdBCXMPeayRd7WFE+u2LsUI5xuFrmnfq6u1pqIrVLZs0Ghx4ln0HSW7fjTm9PxzhqBvbdxjQQYuGYAbtvbxLn1zbf1bOUTd1cOjlQ127c//0Y+1xFnqm7EeXtwVVT+3fydp9kG/0nch7B28TbL62jV9nHzOFGYeadOncl3waefvG4xpM09app2d6cMW7pcRNPB01siKPhYlxnoaJd+fu7dRrmwdVszbSu10otDI1qLcJKXFWckgoynCx0AMrEQA+ikh8PsE/SblULJbJ5CRJoRiO05kMNhOv9Y5JSZVQSudwWfXGGkXIREKplCAVGqpMplxOUX4rFiquW5lb8SUTVRiFBM7mqNLJmmqxlMTYXA4LRwipRCRWnARRnIPBUpiSWN0pZCKJWEoQlDJCPBuTCQmGukrjcYiSVNfIcCYmV5xXcQaMxmRy6ouHUCWx+/ekmo4b2LPhVT1SIqwQKoSaw3zHvoTtGN4FtmMAGtNk8M/PaBkSozE4qk0aURiTq8p8w4hU6CKd845pyVLhsBpVnXp9HkxFTVXllWnHYKoy3l3awBQVT3/9Wgtd/Z0xialaV4a3zksSMmlmxPNCTdN+enijEnP4sH4CAOAgfy4QLy+uvxWH8FwHWOtCWwEASOFnCq7f46u+njQVLQ1VHGoDAEAKP1foPD0ddRTDWr2ZGMyLAQBI4X+QtsggAADvCewTCgAAAFIIAAAAUggAAABSCAAAAFIIAAAAUggAAABSCAAAAFIIAADQADxi/Qkga1LDou49zckrl1IMjraxafvurk46tXvEtiJ+PCmXySicSYdRCgDAKvwXI8+6ff3kg3KNdl7DRvuN6OtkQWVePhL6tHZ/6lbEjyfzQi9tDMiSQ0UCAFiF/2KIwpiYKl2vfr7teMp9DildIyNV8R+3wp+Wu/jwWxM/XpmEIP+ZF0eRJIrB8AmAFAKt0EI5SUkkBINJq91LBsPVBF59u5iz2GTym/HjNYUv7j26HZ1bWE3QVPmWnl59O+kUB58/8qiSQO6s2VI07rv2RsK8sBvRMeml5XKmjoVNj95O5rWBmysjWxcSnqqO3LNj/sa7kdkynrXbVz/P+mWwAZMq3df3i9OuE/VDzgYmVuKGVr0mTtkw10VbKXHi+BP7Fm15EJZUTjd1GDH/m5XjzFURMnbF5D4ZQzewzk7fny7m6noMm7hvm78dbJgI/IfAly5d1mYPUE4QBKmqyobqa2rKgYmXZUY9TozNrBRKSIzF4XIYHDU1viqdxhPY8avjcjUHTu7sxGeI4+4eviOy7tHe18vCTL0qJjRFYmnnZGOiJ8lKUXWfNsJOh1H54Oj1x5Rpl+7OHraaSOazoCiphaueGoZSMpmcpW5ips1raSwjc0/86vN9aofli/b/OqAj+njN9xeLuvXtZSR7cvzUthOJKiO/ObBxVD+dzIM/HQ7R9h3jrlJ0YU3XGSmeS+ZuXzGsn1Hugbl77hj3HO7ELrwTsG3f3RdOE0+enD2nmzRgxYE7ev3GuLFhnwjg30h1tZhGw+l0HKzCTwrT3Nd3jF56/IvcxLt37wVRDHVtW3fXHt4G6nTW6/jxGFXJ1e/YU8PdUZuDo6SuNOlBbnkFRdPncGgogjF46kwk7XFkqaDrZGdHnsLTJvX40ux9z6JfuhqYYczWhIQn80/tCVefvGnHVCcWgjjbLy6LGLtgX9Qv3naKHxleYw+t6Wml6AyuC/ZljO+570byhJ43t93VnL176wQLZbew+W5bwmPfQ/fzRg1U2pfaPdZt9G/PQRCzUZM7ndmSXUYiGrCFIgAOMtAcKI2tbuLsoGdrI5NLKwsK05JfPL5z46iwz7Reuo2m2VBVYwvn/PyUyJji0qri3Lw0EWL75oFEReVCSWHQ7pPXG9xdQo7SKkmF5Ym2JiS8PCs+mdZujlV9EAKU376jfs2l9JeEQgpxw45OpvVKxvDoZs/an5oodkhOlcaFTeWufX0+wrq4gFT2EpqttWOdG4AyWEwwBwGQQqBlU6wgOTBc7trfwVCFwUbYqqqq2kYGAuzan0kZ+X66+o0SFkXeOnxXbOhgYiYwMLLRZlx+8rarjeGouvWwcc56DQpKUQhdpQ2mWG0sv9eyhaEoQlLvrsigGI5RMoJisFiMPnsvXB731gQkGatIQ6czQACB/y6wGvjRa1SUE5cQ81LWIDI0JpvFQCmUTqM1lhKyNDaqSLNDl4E9nNydTa2MVZB3Hp9h6fLVasrKUNW64PTqSP6dS3FZslYLEs3IwVoeHfa8PqQhVR4RnsO2Ma2NmkdkP4pveKZH9uRuvNDC1IZt7OZAi3mQUFOfXxz68/xBvyfJoE0BkEKgzRWqYeZhSTw5d+N6VFZWXmledm7c/TuXoqXGrubadSJWFz8eobFYaEV+aTVBSioKoq5EpYhJYY2ErLXiFP+qEMsRfQtX3bJ7FyJjs8pK8rNCLkYmo1ytWne3VSHhMb1RUzzL9m2YdSg2IeX5lbVrlt7SnDDVs87kk4YfnbgsNDI+9fae9VN2lXaa0tuRzh0wsyfj+KaJm8KiUjLv7v19+qY8iw6mdGhUABxkoM3gak7+3dGI+OiwB0/KJXKMoaatbenbrWNtfHdK+1X8+L7tfN3ybz49si2SoaFj7+nuh0TcCA6+azjQ01hP42nUzn2iCd94eA3oLAuJvXkiUYRxdMxsB3Sz0VLadK0MCY8Zjlt8uWr7vJUL2uXIedZu44+uXdGFhVBCRSldvpveP/VQvw65iIGl35JVm6cbKEZFNb9vruzbM/vXVV2WyvhWzmMOrP5VkR4hoVWB/zyfUUj4/x8UKZNIxVJ57fPUyvDzDGZDbHhS/ip+PBOpCzxP1QaPZ+BysVCKMLkqLFJSVSMlMAZXjUmrj0OvDCWP0+lsDoNWH8S+2ZDwrShe6b6+o/Z02fdosSksAQOfIZ97SPj/4/iC0VksOqtJQ43WKH78m4HnGSqMuj9wphqv4TGZt+PQNxwGQsIDwEcF5go/Rx9e09zSWhcWhAEArMLP2mhVH7pj11CoBwAAqxAAAACkEAAAAKQQAAAApBAAAACkEAAAAKQQAAAApBAAAACkEAAAAKQQAAAApBAAAACkEAAAAKTwAyGLb+04svde+Yfs3kcWRO9afTvuvTaGpqqT/lh95WEp9cmukIhcPFZ12M3qNmaTxxx0UV96qga6CABS+HlooYxUBjn+MLWRkxQhfz81IwmCUpYBAACQQuBjQpGgrACgBDbp+gh6Up3x7PrNpOcFIkSFb+Hu4d9Zn6vcC5CqSosNDn2RXlBDqek6+XTwc1THGud68ejouRyDQX3623KQ6rywG9Ex6aXlcqaOhU2P3k7mqspDiHMTgxVHzq0iuXpu7dUbdIuqjAzaEoz2me3vodqS5xo6a/SI6nk5Bzsyap3zbX7jzgz+I3SWTtyKyX0yhm5gnZ2+P13M1fUYNnHfNn875puu/J2TcxdeDIwtRXTMe0+ZtmmBh75yz2sy9+ax+SuCb8cUUEbOY5bNXj3KmNY41/WtPcdEeh3cvGeQNmyRDYBV+Dm5zSUJZ07FlggcB432HdRRqzzs5p8PyxSaRRTGnvozodrIaeAoX39HLDHg1p3c1yaYKPPJifNZPJ/OPSzYGFF6/+TNiBqdjv17jB7saiZKPHk8OkeuEMu0SyciUmnGPYb06N9eLSs0Ibv+AChD28TL01j7/QcyqvTM7vXk6OtJZ54e96PObJx3/I05SCL57MjBJ9K9pwQ+2he4yjV78+JhG9LlCCJ7dmLo8AulvaZfDd9zYhrn4qSlv0a+mvikyu7tHzD2ocO233eBDgJgFX5uSpj3JCmHZzO2h5UhE0eMtDhVRUcfp+R09JRHJhbpOUzsbK7NwCh9trg8Ir9ETGkqJUOaE3PqTCLNy7dfO21VOipPS4wsFXSd7OzIo2EIqceXZu97Fv3ShVOQkIIaD/B3slejoaSWmqj48B2i7qxMQysfAUL/gD39Ke0e6zb6t+cgiNmoyZ3ObMlWyLf6KyV8cuRSpM0XUet62SkkzXHGwZexbvsDI+ZOley9kOg9MWFxZ2VQKJtZ616sv5dRTlrXmsCPjw8ZEaC2bOfhMfoQJA8AKfzckBcWVrP1BAYcurIqcZa+iSbnUVmBSCjNl6gZCbTYNKV9hPNdevo40FhosUI8C0POFiOUnFVDsRhKq1xUVC6UFAbtPnm9QaYIOUqrJIrzKxFdSws+g670lVkCMx3+3bx6s5BGZ31Y09FsrR3Z9SYmi/nW3v7ipPgCLS9Hy3rTDjPvaK+zIiOprLjqWaVpd3vdOl8C0x6xZe0I5QoygkijF42KxSgRP71MhphA2BUApPBzg6IUjiWGv5powBSGnXI1giBIxb9pDd+jDI4yvlatg4vpdezWnZlw6kZkmMcAH10Mw3BU3XrYOGc97NVBEboKnpuOoCj2KpA8yqJ/mNdJyBotXaN0evPBTZTJ0Ma/ohiKkKTyqhCchjWVj+H96+Yd/CPtv96+acKuZS5gFwL/MmCu8EPHEg1NjiivqKxeZKjynGIhR02Tw9HUoFfkFQsb7KxnF84dvl+qlEJMy95VYODs1kG/8uH1ZEVGli5fraasDFXl8biKjzqSf+dSXJYM09DiUgUFLxvivotyisva/BQOJZfI6p1qYWZcaivXi9k29jpFEfFp9TnJjEcJBbqmtpradrac9IikIqr+Wk9+9WW3Nc/lSiV0HDPG1GjotOWdczb8eKUhIwCAFP5HbUB5TVVRUVlhw6eokjRwstApiQu4mZ5TUpGTEBXwsFzLydIIp5u5mnEzn1x6kJ1fWpEVFX47CRUYcLE675aBYUy+h48tL/vpjQQRpm/hqlt270JkbFZZSX5WyMXIZJSrxUI17K3MiLTAgPgX+eV5KTEBd/LJBntMkpd6/35qnvQvGldXX0MUcmXXw4KCzMQjc3efKmillOLuXw1ol3hy0uJbEclZkWf3TlqX6jylX3s6o/vkfka39035PSzmRdb9fVt+CqB38TV97Vlggolrv7B+eHjRuU/4IDgAgIP890thSdStXVGNqs+u+8JhDgP7EyEPHx15JEY4PFPXTn06aSt8YcrEdbA/cudx2JG7Epq6lrWfdycjOlL4WjbYxg7dHDPO3oxOt+zgNaCzLCT25olEEcbRMbMd0M1GC0cwnmWfQeLbD5IDDj2Wqei283Fj3EytK4Y4KzkkFGW4WOgxWpJC25nfr41Zv67v6PnVlJ7/5B/6nwptpRbajTxzXjZn0Q6/reWIjrn/rJWbfzBXOL309hMvnUC+X7nFd2UF09RpzMHflnjSkZjXGenOIzdMvd5zyaFb/vP81KDDAP8aUJFI0tY8IpFUIpEJBPzPrK4IUaVQ/KbrhzLY6io0Si4VCaUygkIwnM5ksFn1U4SkTCIUy+UEhWI4g8VkMTCUkFRWkSx1du08HSUXCaukuKoai44QYqGiUusOQWdzGHVThJRcpqhtGUFSKI3JoVFCGcblsDCElAgrhAhHncNsjVlPyavKJEy+CkQ+BgAF+fllTCadzWaAVfh+4Gw1LrvJ8YTGUFFrwjzD6EzVtx54wZlqvEb52Cr8+iPiLBUOq4kj0zncRksQ6vX/xpgcfuuXaVEaVwMaGgBaAuYKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAAQAoBAABACgEAAEAKAQAA3gA2LGkTVGnY1R3BhfU7daHKnbN0zW16+LtYcN/eAEuefGf9NeboWR1MWzfcNE5PyGQkTqd/+DhFltxcvXnB3siEMpqerdPIxd+tGKzP+KdUJhG5eHz35An55/xUoWcBIIX/Mi2UkaiqSa/+1trKECaEsDQ/+uHTPy8wZ4yz478phpiaXjtnmmqrtwh8nZ6qijh68bnL8HHu7A/bYJDMPrx25OaqrzevOdSOlXp8+5SxP3HD9i5xAlcAAEAKPxycLTA3MFHqCUWa6umRpXtDMtOEdu4qjUw8OUHTMe/KR1q5W+ob6SlSTlCE/IO3xKcqg89H87/auOZLJzqCOC+fevfU3Ou3Cxc5CZrUQookUawtKimTilFGQ+A9iiAoHAeRBUAKPydQvD7GHY7j6ip0lJKIFcolS/9zQ7LJl3bltyKTNb1n2KRuDWSMrHN4y7NCg548Ta8Q4xw9G4devewN2QopSWsi/Xd22Ycu3s4jkLzTa3K6z7bP2HEFHTirq02tWyuKD9kaRB86q5Pu06AtwWif2f4eLfmWuPO4mautzBvESgHGfnsrazJ2xeQ+GUM3sM5O358u5up6DJu4b5u/HVORvjpyz475G+9GZst41m5f/Tzrl8EGTISI/mnioKLJJ2xufLOh8ut763v8MdU/sftsYcDPV4tQHYthvy5aohk0/furESVM6z4TDh8a4qq4UnlR0Oqtyw49jsuVsPQse8/8Zvt8Fy3YUhv4JwHD+IeYXYSwKPN2eB6hrmWggiqtObI8Mvg55tR+YActjCBIhamkNPmKQk+GRIv1ug31G9nXVj0n6viFlAoKaTo9yvUY2buLgGbUvd+M3gZsQ31DMicxU157PklqXA5uZmhIQxnaJl6extotD2SKQ40aMrKdCpX97NShMwtH/35SbcC8Ifx3JIgqPbN7PTn6etKZp8f9qDMb5x0vpRAy98Sa/gsTLOf/Gh65Zccw+dEvFyx9IK7LUHXrwIr4dusvL/zaSDlNUHzuXEjHBU/Tjp4ejZ6dOa3bFub8K0dizvZjX9u14mK1IkH+yY1jtlX4b9kSG3fw0jLj6J9/3/AYYuIBYBX+2wWwIunIr0mv/mRoGHX1dzRSVKRU8ZuEbeXW2YnPpOFUcYPzm570pFzbe4iLsxYDQ3QEtMrsc0mxpVZduE2mx1hcNh1FUIaKugoNpQxsDB+FJBXIrQxwcU5cBs1ikB5LIWaGVj4ChN66Pf3laRF799xJSS4RDDLXYTZhjFHaPdZt9G/PQRCzUZM7ndmSXUaS4lN7wtUnb9ox1YmlcK7tF5dFjF2wL+qXTh0UyYVS5x+2DO7JQeoCO9Pchm/6wdMGRywn+9jvEfZYNbG/PQ2xHTTG/cyx7DIC4SBmXX87aD+5v4nCtLUy6uWzLCyvkIRhGAAp/Jd7x6+WTRAUY7DUeSpcVVZDsHaWth6Pw1D+JW/QmcqCMom6nol2XUR3jGuqq4ul5Su0gNtk+rdOxraw0Qm+l5VNGOi+SM9gGg4xqxUzGp3V6qZjdJ10O3ySvCD8u26LR64wjVvn+NYiMs3W2rEuxArKYNVppTwrPpnWbo5VfbgVlN++o37NpfSXRAdlemsLx0ZBXnCBth5el5vOxLVNDOtCnNKVh1JOeGKCzj2HR4cf3XAz8UVuUtSTW4XUKOhGADjI/3pql03MlR99UyNNTXU2E28wtVCc8U4MOopUaubrFQUcx9DaL5tJ/5YWqlkaGYhfJuaIXsTlsSxNzVof3UmeHbT32p3s+jDwNF2PL/toZUc/L3onLjxKp7+7vFO7avP6WwxFEbKh1Gx2W9a25c82zbX323Mpi27eufv8nd+ONYReB4AU/jcMQxzD6z5KhfiLtFxNNUZFcW51gzAUFOYTqpoara15VM3QSl/yPDomNpNlZa/bhqcCqeLA1Rt/u/oqOrs4J6eKxlNTbc2ZaUYO1vLosOf1kWGp8ojwHLaNqRHe9sqSPz+xP9FpxYYLW76a+WXnbo4cuQjixQMghZ8fdHNLe9X8kICY5PyKopfPg66kCA0tHbVbkFAUQSlRVbVIStQ55DZWmlUxiWkqhg6G9cE/JXmp9++n5klbPrH9F6N0769e/3tgSnLK86Ata5dc4Qwf79mqQO2Y3qgpnmX7Nsw6FJuQ8vzK2jVLb2lOmOr5Ps9CY2q62mjq3YiY3PKchIitk3edLZUWF1TKoWcA/yRgrvDTm5AsvW6D2qOhCZcPRotxjq6546Duttp1yyxNZ2AbmmqEPwrcVt1j3mBjmsIutDbSu10otDI1qLcJKXFWckgoynCx0GvJSmR0XL7qELFt5dTvllcy9G3tB+/fsKK/WutcW8xw3OLLVdvnrVzQLkfOs3Ybf3Ttii4sBGn7yi9mMG37nGfTD/ew3cG1dBq98Mf93FWTZ8//zW1PP+gcwD/nPhWJJG3NIxJJJRKZQMD/DOuLFAsrJbiqOrOJMYSSV1coflNh1/0mE5cL0fqUpFwklEjlJIVgOJ3O5jBoaEvp5WJhjZig6GyeivI3qiR2/55U03EDezY4qKREWCFEOOocJpj1ANBG8vPLmEw6m80Aq/ADJhRYHB6ruWGFpsprVJ90Fk/9VTYaW5XGbnV6GoujXn8WkpBJMyOeF2qa9tN7PVGHMTl8JrQGAICD/JlAvLy4/lYcwnMdYK0LbQUAIIWfKbh+j6/6etJUtDRUcagNAAAp/Fyh8/R01FEMgzd2AQCk8HMGZBAA/g/AAiQAAABIIQAAAEghAAAASCEAAABIIQAAAEghAAAASCEAAABIIQAAAEghAADAK+Btk/dEUpj+8H5ifHpJuRhhqvFN7Ww7d7LQY/+zXgyRR+x27HI8uW6XVBTFmWomHt6z13zzXUf1NhaUktYI5QwOh/4pLvCTHhwAQAo/GTWpj/44nSw1snTpbKWlilSXFKfFhh1Iyhv6VWd7tX/Y/YybzTqzbKKJolRETd7z0yt3zxsqFTxbPrJNcYjJvB19Jlwbe+r6VI2Pf3mf9OAAAFL4iaDEWcEXk2S2nUb1NOIzcBxDSMLY0U4Qcube5UA9o1GW3H/UDY2y9KwtXGxrZ0JcbNqblj9wO375oWzkQMaHHpkkCRTD0f979YvkLDYd+iEAUvh3m4QJiQlyvV5dTXVVafU6QKMxtIy7djJKupwQU2bRiZF8dNsLy2n9vGutHCLt4eYL1OA5nSxwhKzOC7sRHZNeWi5n6ljY9OjtZK6KUtVJbUqvDCgaGbQlGO0z29+jjdFGUFWOKiITikiFkhXcOTl34cXA2FJEx7z3lGmbFnjo4wgiK7i2Zsfyw08SihAdp/bfrZs1p0P52i4Tl0TIkPChvLsrCg+Q4wSnjH6xCv3l0tMatqnPsF1bOyUsX7vqao5c4DBpy7K1fbUwhKp6enXBglPnw3JLEVXLjr7Lts38wlqhX5KkMwd+WHXzfmoNw8Bm8A/fbRjP2N744Me60vKfbFhw6I+QF5kirmOvgb+uH+OnhyE1t4YZBnS9OjRj6a5L1vMSd3sxoCMCHxVYNmmzLZSbVUzp6ltp0N6wh1BczVJfHyt7mSNXWIkERcpexdiUy0mKUM7XEaX3T96MqNHp2L/H6MGuZqLEk8ejFcnbnB5BGdomXp7G2m0byEhRQcrRpece4jad3RlE8tmRg0+ke08JfLQvcJVr9ubFwzakK4qefXjdF3tEQ3dteRq59mebpEUTjj4kTRbeP7rem+W7/Xz5sa7KzbNlibsOEnOD/0y9O8Up/tgAz1WRfj8+itv5u0fu1gXnoxUllCetHLP5lmD0mUdH40MXDJMHT18QUkIhRPyfY7++ozpj+YMne0/PVA387vftKUZvHFz6Ys2QxTvL2688vzsyaPbg6oDB/Q9FimuLT7zcteC62sxlV35xAR0EwCr8+6VQKJRjHI7qO44hyuSoMJDSmmbD0MkzEyNLBV0nOzvyaAqvWo8vzd73LPqlq75m29IbmGFMQysfAUJvzZ7+8sRFDj6LGsqI8a0m7vlxpiX1ZPGlSJsvotb1slNYgo4zDr6MddsfGDF3Oi0tX2rSd0h3C0s6YrFuheCR1ARtwrYctmLWWHcWggwY77M3uHLM5kkO2igybnL7ZaOLcgnEHeF4f/fDgKE9O+kqxlq9SYPMNp0qKSUR7svcTLrJjAFO9gpDb+b35y1S6W9eu+TexV0v2m+89uUgnuKsJjYHKu9b7D/yaLynh0IKKwSjZi8fLoDRGwAp/EfMvTGZNLJGKn237kipSIYyWc1OY4mKyoWSwqDdJ683THsRcpRWSSKabUyPYCiNzmpl071eNkExpqqRuQ5PGf69Jim+QMvL0bJ+a2zMvKO9zoqMpArsy9GDOh3e7Wl736+nm4+f99C+joaKE70VRR7jGQjqLhNlMOl8I526BWmUwWAitSYc02TAONqdKxdWPXuZ+jz9/q1nUptOiq/p3n2m2Syc6TT2WE/Pbj6eA4e0d9XBGh2cKnmeXVz+9CsDv/EN38gk6MC82iVwjO/kpAU6CIAU/kPABQZ89G5uutjWoSHek1wkIdlMJDM3h1R313unSimKQpRSgWE4qm49bJyzHvbqF4SugtepRxvSt026Gy2bNDqH8pfG5h6KoQhJkgjTZeT1lM73Ax8Eh0SfmHdmyfI+p+/M7avxF+d4+4oLH0zruiJQx+erIc7+Xf2+dt/rH1CbTs3lt/unvwy9f+Xm09C961YvESy4vOWXDq8zMlkM3HLU7Wcz2r9VizXKC1Fhwwoz8KmAUbbNqNtZWWAvQ0PzRPX3fXX0uQsHLz8Nvp0uN7Fy0q6rUpKojxhMVRRVSJTKg7B0+Wo1ZWWoKo/HVXzUkfw7l+KyZOh7pf9A2Db2OkUR8Wn1JyUzHiUU6Jra8kWP9u9dG4p1HjXit92rwp8u7FsQfPyBrK1Hr7xx5YSo1+Hri1fN7T+it72AJqu9ILLg9unFu55r+vb5Yc2iq48PbHBLO3ImpdHRUXUnS9Pc+PCsekORTL82wW/j2QIKeh0AUvjPqzI1M9+eZlT0zQOnoyLjc7LzalQM+TXRT6IKVZw7WmhgChearYJXJD3OLKoWFr+IvRJeUndn4/oWrrpl9y5ExmaVleRnhVyMTEa5Wqw2p1fOqeWl3r+fmid9f9vW/asB7RJPTlp8KyI5K/Ls3knrUp2n9GtPZ5ApIb98v3t3aFpaRuadE3cixQZ25jSl3YdSxTkFJdWtkkWGDl+9POXW/ZyiwryIU3unbkqSVpQUiFGO8MXBxVuWHY9LysiLDQ68lECzthPgjQ5Oc+07wzP1t693HbuX/vzp/Z8m7bzKsnLXBmMQ+PTu3tKly9qaRy4nCIJUVWV/pnWGYhxNgbkBS5ybFfM4ITwqPaOcpm9vY69R/jSqTNPBWJvN1WALM2KehYbGPEoSG3noUwWoeQcTLRpL11CdyEkNuxcTHlso1bH262lvrIqjuGrb0iNUTUL4n7dLtT2sDFpcOSFzHu88kuc6rX/ndx6oxrTt+3iRDw/88dMvp/54IHKd+eOhBY48DDP0tFeLu7Xxt0Ort9+4lcUfsWHB/9g7D7gojrePz9YrcNwdvfemoKACKlgRxd57jLHGaOxGjUZjSYxGUzSJGhOTqImxi70LdkREBZGiAoL03q/u7nt3FFHASP4mmpfnGz+fcHszz8zO7v32mbLPLOsuITEekR3187odm9Lc5vZnQzbckY4fEmSleY6yj47uO052n9tPuw6HTYv4fp+iz/wuHs4tWiujvlv24+qt12JQm5Wr2qb+8ec30TZzP+7fnovbuf631etDDlwvc50yf+tsNzFRx/gQzw59WuE3jq9dvfPbP2Pl7UZv3zLESx9DqpT9X981qi4UAP4nysvlJElQ1HNjTZhMpmiqIZlMqVCozM2lzbk1OUYll6tUKpbRDurhJEUSXOXTpHLjltZSArEqRUWlSq1pJ8QzEJFqBRKIdfMpHCOv1DQewyFccykEQrpqSU6T0ysqSyqRUCzkgTIAQBPJzi7i8SiB4LlFWTBt8nddQ4IS6FHPO8aUo7sI0z1pcIonEvMQp8chTDs7wX+Wja8n5NfvdDc1PU8o5cFFAIDXBkjh65XH56d3Maxpo1xNTQ8AwGsC+lcAAAAghQAAACCFAAAAIIUAAAAghQAAACCFAAAAIIUAAAAghQAAACCFAAAAIIUAAAAghQAAACCFAAAAdfl/E45BlRd3/3J4ckpuhRxREnMr787t/J31iaYbYlQqlqCof/0ZwVU83L3xtsGo0QOdcebprc07Ygt1EVwxDCcF+hYurl0DPZ0MmlgtNSqTI6E+anI7/O2MAABe4ZuDyQk//+vRZIWVa7d+XYb08fIwKLq+98yZJGWTI8FzZbd+37vnruwNhJDXbvjJqasi7DMMi0vaDuz5ztieY0d3H9jNUZwTs2dn+MPKpplUXkMuQeiausl1+dsZAQC8wjcGWxh/IqzENqhn/1ZiHonjiHV2tRDKTl+88ijA0UPStLhXrJrRaNIrKaFuO6a/HVaLUakJ6mXNT0ltLByluLYcxsLJ3gDtvn72hqtTkMl/wlNjGYQR6DXHHOMQhyGIYwaAFDb8o8u99zBL4jiutZGIX/UzIUhK2qqTjyKDx2j3AQ7bcEH/3Q99rbUeMJsVdvS3XK+PRjnSbPmjq5GX7mXmVSI9U2u/Xh06WMuv/3IkNItBWfvXZXRfONRW/uT+2QsJj3JkSE/q1M6ndydLEYaYJ+Hfn2T93Euuh2fLCD0rL7+B7dThx6Ji81QCM4ceQ/xbG2pLkmUmXAhNSMook9MG9l7evbraGRKISb6x6Rx/cBAKP5NIdh0+qhX1khPDcIIgdGdEEKSxnU/LmN8TnuQEmljiXGnkmU3nsD5zevvoN5pdcQ5ZvI+KGdTDHa0+hZa6ogchaMl2FP4YUdZoxHS0ZjjS5C65j5asQUeiUYUA+Q9B3y1Gtpeez2iFdqxD351HiSXIswf6ahXqrNutNCcczVuDTsUjZIyC30HffogsCaS6gVw+QTOD0YZtqJBCviPR9nfQNx+hfYlI2hKt3YTecUBx36Fu99F8hH64gcoEyC8IrV+G2uhO5NEJNH8TupyE1HrIJxhtWqk9rrW5DH0+Ca3+DCUzyMkXrf8KDaRQ3y7I4w/0lY/uJshAQd1R+wNorRf8qIFm2kFWpqeX8czNLfnP7WUptHHq4GMt1RzTuHm128lpQ+ezHMNo3IvSu9cP3pY7du86dnQnP3HehcP3nnIin5HBnc1Jm+79pgdb4QVxB/bGFJh7DhrdY1BH4+LwC/tuFLG63qu64NGtfKt+4/qNCTQpi7q8bU+ygX+3d0f52smSzl7X7trLFSUc/ONOnpFb7xFBw3rYY3GXfz+Tod3jU61mypLO35Q7B3bp5tCU5xBGmVtKiJKiXO0+SxhtYufna2vyUgO8Xih7BzK1QhcTtDqYexr1/gRZj0ehp9CeaejGp2jiEcQq0coP0HV7dPgEuvYtUu5Hcw4hum5GFxSyFM0ORzM2odt7UadUNGQxyuYQk4RGTkIpvujUKXRqCUr/GQ3bhqr600wy2pqKDl1CUetR3h+o3UTkvhQ9OIX6lqMFW1HV9hElZ9H3MvT9H+jcGiQIQwM+QfmcNuOE+YgYga6HoptbkPQSmvVn9SbJTBpaHILWHkbJx1BgLpqyHlUao0Ft0Mnz1YWmn0O3bNAID/hFA83WK+QUFXLEM+W9cCYYQfJ0PUm2kWwl+WWMyKGFm6U5yVmKSGE6po9wvkhAabpgtJ5YD8+8kZAhcRsX6GKtMWRjLCzL+/32w4yO7S21bpqpb2BLVyMCM3d2uP40q1Wb9m7GPMxI7fwgPq9MidiSu3FpRi0ndnUx5eEYa2zCFfx0OjGpp5W71lvD7fzbtLHlkUTTunokn6aQTK7UiBziWbt0NUfUq8f0Z9G+X5DRFPTdKN0ld0LfP0I99qKsbigpF3lr/CknhDmhX35DyQbP58tGP5xGk39HU9prP65djVK3oFQGPd2PIh1R1DLUQtPIbujXTNRmN7r1PvLVJKLRktWokwlCVqjvOnTzPTQvQDv9Mq0P+uM+Kq8ae9BHa79FQ0y0f+7kUMvZKOQTNIlC41eg3mOQneYBbY9GeaMVuaj6GcagqZ+hYS21f84bhn6/jEow1C8YLfwdxS5E3jg6ego590OtISg70HylECN5NFIo6g3vMYriYiUlFjUiF7ipu6NlTMyOH7OcnCzsHKxdXI0leNVW6VWoc3PLBRbmVkLdgB7Bt7QzEkYU5ciRpdZFE0olFKlJT/MoAhMZSgTaD5iAxnUWuIK8MlXGvV+/ja4RXpZBJsWVOuuE2NxSQDe94TmVWo3IqowYSfGbZIFFiakoNgqJNtfWCDGOKEcPTR2OxkxHdzuiHh1QcDAKcn1uME79ED3A0Aetqj/SbdDBn7V//P4QGbdFzjXDlo7tkOk3KKFUK4WYEFlJajxTCtlYVU9D83gIq2le0hl1rNlmXuKHvFl0PxkRHdB7gejEbrQ9CT16hEJvIPHkmnoIUBunGpu86hpa9UBtv0AnklBrPXQoBo1YA9tTAM16rJBvZiZUpOTksdbmdbr76pRbP+8t9p/ev/0LmsBVu4k8a88R71mmPcl+mpkXc/bBRZ7LyIkdXZ7t26SdFEE4UWsS14odx9Y4mXjNF5h2UK9GPWomUXCC4Lv7Te1lUa0Vmg45IoQGGMrVjmTy/k6rc4XZRWoDCyP67zYTD/XZgI4Pf/F427UoaRw6Hoou30Bjv0HtlqOTk57TUAZHREPjKM9NGOlmM1j2bw7SaPxjhkXlEajLBIR3RyMC0Lt9UXcB+urZ8ACi69UBt0KDPNDeC2iMAEW5oG1O8HMGmvVYIWHlYW9Y9PBybEWdX6I84e5TucTUWozpPCC2ZqxQmZdftVBGlR59/16h0NW7ZddencaM87Uvf3wvlan7kDA0Esqy8oqqHRmuOCO/Umhg9EqbP+MmpmJ1XonCQCSRaP9ROQ+OhT0txxoSkVcdBsi6db/EwMnW8u/NHxOojTuKjkQVNQcufY0GbUXyNPTFOpTqgKbMQr/vQWGz0PWD6HGdZiAdkasKRcRXf1RFo4Cu6FAZcnNBeXe0kxhVPLmDckyQu+RVq6N+jG4WVf9dGonuIuThgK4dRMmd0cUtaPE7qJ8v4qv/+uYd0AvFnUWbjqPWA5ALrIEEmrcUItrKo0c7QdKJU3svJMSl5GWkpd48dvZEIuEe0MKaRJieQFiRfiemoLS8LDXyxpXkql8Yrs5NvnQ26l5mhVypKHiSmavWl4pxnXvDycrKZUpk1crJtCD26IWUjIKSjLioozeKjVs527zS7w0z8nRxkCUcPZmYnFOam3z/6OlHMolU3DQFVJcXFufmFeXmFqQlxp/8I+wua9elvVnVlLMiK+nataQs5StoaDlKz0cyFg0Yj+jDaNJPKCoZXfkDffATcmqLeHx0YyeatxFFpqCkGO0YnMgRWeDPMios0fRuaNsStOs2ehyHVqxCyW6oox5qNwK1fYwmr0O3klDkCTR5C2r9Dmr/yt6uxviyj9DJWHQ3FE1cgdieaJg5MjFGikfowiOUm4GOfo9WX0Xl+aiceZkdx56o5X205T4a2QdenAKaewdZ4/IInLp2G24QGxETfSxCpsJosZl5u/7+HTxEWuGy9QzyLbt8/uTGY2pMYhfgbXKzTJvHukP7TiX3ru07doYh9Q2NnHv5dzDT6KDA2t7wZsSp78sDFwzwGNifCbsRsTNCjoQSe++APgEmNELMqzxhJM59BylCr0Tv334TCcW2LTsM6GBMvlremrHOopu7Q27q3jYh+Hpm9q4Dgj08DKuUmJOnJYZdwmgvJ4uX9pdJd9THCE3qjDJOo0Vd0IkNaM5G1PlLJHVAY79Gn7XX9mq//xbNWI+6/4wIKWrdBR36FEkxxNbJuPAbVPo52vABeqJErbqjQyuQpUZ1XNCB7WjuWhS0XbuYpvdktHE60si06hWfXh3RGk80bxTKopFvEDr+KdK0vel09MUTNGcgkhuiwOFo5+do7HI0whuddG38yjuggW4oVoyGWsNvGfifwGQyRVPzyGRKhUJlbi59m06EY5RKmVylZrXrngmCpPk0v/rtOU4tl1fKGU2lGVoo5nNyhhLrUxjHKCoVchXDIgzHCZrP49PaMT+1vLJCznCUQKJHsmqlrFKpYjiEExSPFvC144VIrSgp54QSvs5BY2SlMpavp0drXT5GXlmm1hnXVkilyavUmq+TVyUvqUA1eV84A1V5iQLX0xdSuiLKlOyzUTlN8RRfQNe+DsgqKksqNRor5P0HfaG475BfBEr6Qyt//ytqtLQnuj0ZnRkHXiHwqmRnF/F4lEBA/7/zCnVyQdA8fbrB6WKM5AsM+Bqt0eN0L4fwa3Lw9IT1M5B8jVzWOHckrWdQz+8ieWJJHY/U4NkqZ4IvlDyrECUUUcIX8lJ8cWMDahilL6GeFSF92UoZnCeU8pr7Da1WoczT6I8ctCoYdBCADnIT1BKDd7beBvgmqLXd/3zncei3CWjaNeS/AI0ygUYFQAqB/xqOY9CNMf/7gw1N2Ip6VCI7cwifA4AUAs0YygA5GkAzAK8HGGMBAAAAKQQAAAApBAAAACkEAAAAKQQAAAApBAAAACkEAAAAKQQAAAApBAAAACkEAAB4xtv44h2bFbV1e3SBtPXkGT5Wb1SrWbVKxRE86lUrwZUn/P79Y+dp/fwNn4v8wKhULEFpzHAVD3d/F287ZWAXk38nNASbHfbn/BWnLjyoMPHuOH3tzA/99CEmBQD8J7xCNvvBkwKSIouexGaxb7YmWZeOfXM0Td2EHAzDsaoXas2V3fp975672o0EMMrApZ2DOe9fkiM2+ei4YbtTfCeHnF051y520dBvDudzcNMDwH9BCtmC2PgysadHC1F54oMC5t8tnHteKDTCxjH/uxyzaoZjqrbko0zadGnhKHquyH9M75n7u45ctx2+ZV2PAJ82U3+YPQ6/uvVgPgt3PQC8/R1kJjMloUTP2cPdiXkYm5iSFWRiXS3XivSIyIt30jOLGD1L+4Bgv7YWFKbxuJJjzl16nJJTwRmYteraIchTrD0lVXHMxYirsTlFSlJi49Ap2MfblEJc0eWfTmR0GDnWSxf1VJW876t7JhMGB1rII3cdeuzWxeTB9fB0Jalv6NLJf4CfYc65wzsjShl0ed2mvHdntbepzAo/fzc6pbBYzTN1cgsMbuWo62vKM+PPXUh4lFnGiizatBe/KDRcybVfjoRmMShr/7qM7gv7KA9ujLPWdJANUw9siDXobvjkUmK2ipTYtezf1zYv7NrVh6WsvmmbPl17ugi1e8iVN1goVxp5ZtM5rM+c3j76L9H1klsRGaZd23lUBYQVevb0J6aFP1R+YMKHGx8A3m6vkM2MTS0RWbpZC+xdzHnFqQ8yq7SFK75zefflQiOfjiNHB/iIss/svZWkRExuzN59ceU2rQaO6tHbE48/evGyNr3y0ZlzxxLxlkHdR4/w8yCfntgdniir9c5qlYJVV3dmOTXDJIVFFbh0HDcheIA3lXz+xq18zLJz7xHtRLRLxw8meFtxhdf2XLhVYdqxf+Dowd4Osvg9u+9mqBFXnnzsz1tJpG3gkMD+7Q3SLsWlv6CFmMhnZHBnc9Kme7/pwVaE1jvUVEOr+WomLzJK7T2kz4ThrQxzYv7cduWpVbuR73YPMCmNOBenHRtgGi5UY5Q2sfPztTV5+YOMKXiaicwsDWvC+dHmFgbyzLxC6CIDwNvuFTJ5sYkV+o52NjRG21vb8Z4kPMgPsjYluKK7EVmiNr0CvUx5BLIxZIqPpxWWMERkfJ6Fx6ROjiY0zlkK5MW3sgvknDQzMlbtEuzXwUNfc9jaiM379WZkgp+r90sKxkjbFkF+tlIKY41cHkTeLirhSGOhkMQQTkvEPJR8O7LQvMuU1p4SEkeshVSZ/vP9u0+9hDlxDzHbAb1btTQgMdbYQJa/4/ILfXqcLxJo3FeM1hPrkaiy7leUc8e2bZyEJCfxtI5JVbh1a2tlRCETL/Pw4+UlHDJNjW+oUG8rB5xn7dLVHFEvj+nPKWVypC8S1O45qifiI7lcN2YJdz4AvMVSyGSkJJTSVtYiRVmlgpNameGJiSmZPU1t1IVZhbSFrYmQ1ro4hNiu+xArnC+LylYY2JgbC0jdUalXz64eJJ/LLchnxe0cDLQKpD1saW3E3couYV92spjY3FTK0259jvNpql5YZFlecaUi98yPe87WyAyjxshSJj+7FJk5O0lpXVF8cwdT6ZWsVz1bjCc2FNDaMmk+RfD4BlUV4PE1p6PkGi1U4y7iGEnx//LSYTSfjyrK5TVeIFdRJkc8mgd3PQC83VLIPI1NLWXlJccOxT37Pac9yPS1MWYY7b5JeK0PJ9AnEVfCsAgnydqjtFC7hxVbveldrTNEaH0qtt5swfOHCJKsdZXq+0w4TmBi12HvtraoKUxTBqVHZKZot6OrzYnxqaYFl6+72wqGY88fbKzQVzVOGNlaotysQhZV7d6szs0p41maGsNaUgCo/xt/m5Qw90GiTN+r68zZI+ZU/Xu/gwtdnhibz1BiI5EiO7O8WrxUGae3HjmXyjcypEqy8ms6nfL7IYd2XCtEUokhXpKRWbNfuiI/PR+TGomqTpVhmCovickvKnrlyVS+mdSgoqgI05dIRJp/YpR9+Vhsmgo3NBZxOTlPa4qSZeQXvb6RuEYKfeXOLSZu38E659q9h1VddkX8pXC1T4AbDXc9ALzNUqhOS0mo0HPztDWSiqRV/8wdPB3oEk0fGRl7tTYsCL8aFpdfUJh//1zkXYXU2oTn4O0gSr1z7Hp6dmFJWtTN0ATM3EqE69t4uWDx565HJBcV5GbeOhERj6zbuOthGF9fD2Xej08ukpXmPLl45tFfypZ2DreyokSuRpZO3mZFV0MiY9KKCrLTwo5EJmIiYz5m2NLFgUk+dfTB4+zirIfRRy9ns1hDZjBOVlYuUzZtaRDRcKE6WctKunYtKUv5FwY8xw/pnHJg7pd3Hj5JPrx0y06m28zh4BQCwFvdQWZSY9MqJQ6tbKlnYoLxXTytBA9TYzN9e7UP6K++ezP0fEQZEplbde3fxkWISDvvwb3R5dvhO68oSLGxa5B/gA2l6T636Nm5IuzerUPHzilJsaVN98FtPcQaq8JW3do+Pftg/+YYJUtb+ri6lT99+XPC0NbC8F7Ulp9lEz708RvQSRUWc+HPeBkuNHVwH9DNzZhAuMS5zyB56PXEo7/dVumZte3ahr6QVE8JBdb2hjcjTn1fHrigV5MujmGDhWo6yvK0xLBLGO3lZPFSHw93GLBzX9H0+SvbfK4w9Oqy9vDcgUYwYwIADfk9MpmiqXlkMqVCoTI3l77eqqgqy8vVlIEBr+5gGKeSl5YztEhPQHJquUKmVGvHBwmSL+TRutFAVqWolKvVDIfhBM3n8WndiBvHKmVyuVI3wlgnMWJUlZVKpUopU+J6YgGhVOH6egKCU5RVKCmhiF/lMKkrS+RIT19IakrXfsPgtMiAR3KMvFJz3pr+NU5QlEBIVw0RcmqVpkFUDMthJE9IcpUqXCTkP+96qeWVFXKGowQSIVdeoiI1CQh1RbFCW7ruYaSqKK/EBGJh1ZieoqScE0r42uWAjRTKKipLKpFQLOSBjwcATSQ7u4jHowQC+u30ChEl1K8vrhjFF1cfxUg+X1RvcTBO8fTrLyrBcFoopIX1u4wawaOEGg3hdPvDV7cFxhPp1zFBCsX6NaXzDCQ132AEX09Yf3EyRmptPvssphpw7/hCcU1OfUlVAlJP8qzxKT198bPUPLEEvbxQnCeUwkwwALw+mqdTgWHQTQQAoNlLIQAAAEghAAAASCEAAABIIQAAAEghAAAASCEAAABIIQAAAEghAABAQ5DQBP/PCIwNhUZ4gVDPQGgEALxCAAAAkEIAAACQQgAAgL8Exgr/PorclBvX4h+kFBTLEV8stXN37xTgZCGASA8AAFLYbKhIiti1P1Fp4+zVycXEgFQW5yZEhf+SkDV0fKeWBqCGAABS2Azg5GnnjiSoWgSMDrKR0ASBYxxj6epsFnbwyvHTljajnESvborjmhYyjGXUiCBhYAMAQArfvEsYFx+ntgzuYm+qX7PbHUlQxjad/W3iT8TfLzRBR0Lu2PWb0cMYR/I7u/cdz7AfNa+rO4XUSdc27pf1mB1kefvoH8Utg8m4E3eK1LSeZcu2A/o6m2iDWKtz70ddvJn2NF9OSExb+vv18JLSiM0KO7q3ou0w4+STN+Tek4I9Hp3ddA7rM6e3jz5cDQB4DYB38TdgM9PyOTMLZyn5nDuHEQZOlpZYYVombWWlX/wkq5TTKFvekwwOU+WmZLOajLkpOXITE2sBYtSs7EHkNZXL4Hf7jg22UcfeOBuj3au9Iv76H6eyBZ4+Q0cH9vYWpp45c+R+Jafdt4CVJ925lGXUaaCPhwinTez8fG1N4EEGAOAVvkEprKxU40Khfr1+LcYX6tFcUTlj4WAqvJuTpmhlUJitEUZXo6z0tArOGn/6tMLQztIQRzmarjHfplN3V2cRiVkJWkU/ulMo4zgm9mYqzzsoqJ2ZgMA4KylZkH3wTmqZp5vWXWSM2gW2cNUnSI3zaO3S1RxRENMfAEAK3xwYj0eyFUpl/eZjlTIV4vEp2sbKmohIyWDs8nMrzJyCTcoPpubIfYgnuXybLoZV+1jhhkY2BpTWscT5VVs6Ia40t4jJzzi/8Xa1PY5lOWl5mW6TUkwitTSgqvcDJCk+XDoAACl8oxDmllJ0NTNF7u7x/A5MytTMDFbqa0kivpmDhfrWk/y0gmIjawsbszxeTHZ6OpFJmgVbkVrV07Y9Sb/oV+I4gdsHDhjUsnqvKE6TkKANcJStkUKa5sHUNAD8M8BY4d9B3MLZGXt66VKmrM5BTpF7JTSFsXP2MMYRJnC0l5Y8iY/L4lna6POszM1VuXfv5CgtLWxf0qvFDcyN8Py8SqFEJNH+E5REh5+5X/bMHYWmBwCQwreo1cSOgT3t2TsXf9kfFfkg42l6ZlzUnUO/nguXWwf2cDbUNioucTSXZqckyg1tzAhMYGZrXJaQUGruYKn3Mj0TuLaxIx6EHw1/mllQkhp1/Xh4qb6piKiXTpGVdO1aUpYSLgUAQAf5DYKRxh7tR+sbR95ODj/1oFRF6EkMzGxaD/N1cTalqx4vhImlreh+vsjUWtOJxvRsrfVRFm3vKHypZ4fpu7Yb1OPu5cirv4YyAqmJW1Cnrg50dYe6jgMqT0sMu4TRXk4WNFwMAHgdv2mZTNHUPDKZUqFQmZtLm3nbcYxKLlepVCyr3YMeJ0iKL6DqrK9hZKWVcpwv1qdw7YeKUjkmFAt5OqVk5BVlalrzlS45pyyvkJNCA772O0apkMlValZjk6D5PD6NY7rsZUxtesQqKksqUa21ukCQrvpAkC6gLtnZRTweJRDQ4BW+pscIQQn0KEGj3xMCA5Hg2Qc9aZ2kBF9PUscSra9fe1kImqdP8+rZqpse4TyhFFbSAMDrA8YKAQAAQAoBAACgg/z/DxgXAwDwCgEAAEAKAQAA3vIOMizyAP4TwAgDeIUAAAAghQAAACCFAAAAzZY3s5gGhmOAtwoYyAbAKwQAAAApBAAAACkEAABAb9GLd0z60a/P35VxLx7H+G3HjvROCtld7rtwmH2D1WVz7m77tajzR4Ge1KsVpVKxBKWNnIUUd3fvPfqYqS6KpETG5h4d2nX1MuS/qoVGEqRFfL9X0WdBFzcC7jEAACl8dQijDsN6tmQ1UsgV3Y84+9QkuLeTVBcO2sCCIBVO7RSiRpWHUbMco+ZerSCu7NbvRx55DX+3nQBDHMMgvlPbwe2NCK3AyQtTkyJOnM6s7Du+o5R4JQuNVYlhtbYBAAApbBp8E3tLY52Tl5VKYKTQwtHKUid+GI4hV88uHPmaOvOsmnlOOHGh1NHRSit8HMs4WFoKwv68EhXbOshL71UtAAAAUvi6wHACQzXSp/uo+a9aetIvHfu91EfXQebKkmPOXXqcklPBGZi16tohyFNcRyK58scRvx/KsBrUp7+7EJVnhZ+/G51SWKzmmTq5BQa3ctQrvfbLkdAsBmXtX5fRfeFQM12BGKEpS6eKBEnatHWxvxnx4LGitRdPmf3wwvn78ellMkQbWjt26evbyrD8eQt2TP00RkR1ZR7d3nUuIV1GGVrZdQz28dJt4a5oOD2T/+DOuavJaUVKQmTsHtA+uI0hrTnz+qeg3X2ZK408s+kc1mdObx99uIcB4DXw35g20faA1az2j9yYvfviym1aDRzVo7cnHn/04uVMtjaZLPXOn4fTJF07BToJcKbw2p4LtypMO/YPHD3Y20EWv2f33QxG5DMyuLM5adO933TdLpwN9NT1TcylXEFOKcfmXTkYnsR37TsqeNwwH0fV4xPnnlRiz1toME2VIeXT0NBS+25dRwxoZaNIPvpnRJJCo20Np2fzYg8dScE9/UaO6dGnFfHw1LWIfA41eApqrXjTJnZ+vrYmEGINAP7feYWv1LdNi4zPs/CY1MnRhMY5S4G8+FZ2gZwz0rpgyozovQfiSb8e/dqa6FOYOjk+stC8y5TWnhJNz5q1kCrTf75/96l3f3sBhWm0RE+spzl3dUNPB1pAI6VCyXECc692Nu6uzoYaC8aCrMQ7iWUyDjcS1bHAEA2lQbpg+zyXzn7t3QUkxlpJ1Lk7o28/8nVq0Uj6ouJiXOTVwsZOinPmfNqgiEcjdWrDp2DlgPOsXbqaIwpi+gNAc5RCrjIrW2FgY24sILVdUELq1bOrB8nH8jUimRt2MB9xan4Fx9dtOSfLK65U5J75cc/ZmsyMGiNL2VcohVEqEUVTGCFx90ZpKUnhMSWFhUVpyfmM1ObFAcKXpCEktg56PO2+TITQzMpWejchp5z1bDg9bunQSnrl/PajCU6W9vaWzs7WFiKsMr6xU8AxkuKDSwgAzdUrZBgW4WTt/AlGC7WbVunkDbfo2K07L27v+chwnwFdzXAcJzCx67B3W1vUpOY4ROm9wtoWZWFOMSY1EmEV6Wd2XH4otPV0MbFtYekqVR9OriebL0uDE7Xb3+EEgSNM86mR9JieVfcxfd1Ss1Iz8p9GXr96Ub/T2D5+f/sUAABoIv+pJdaY0MiQKsnKrx6MQ/L7IYd2XCvUSiFu3NLb3Kp1mw6WpTfOJhZxiG8mNagoKsL0JRKR5p8YZV8+Fpumwv6yD14YnZDEmbo68RVJiTFK215D23fxc/FwszSmufpzxi9LwxSmZ1R3wLnynKeFpLGpvrLh9Fz5k4QbCXKTFq7+3doPGduzs3HR3dgC+m+eAgAA/7+lEFEO3g6i1DvHrqdnF5akRd0MTcDMrarWG2IkjeM8qU9Xd0n6vfNxMtzSydus6GpIZExaUUF2WtiRyERMZKxdOY0hjJOVlcuU1cv+WHl5Xl5Rbl5RdkZmzKXQPy4UmPh5tRZjBI+mFcVZBSqWkecl3jsZWcgqZOXq5yw0nkbbnY85fT3ySWFuxpOww1Gp+g5tnKhG0mOkPO/OxYjL8UXlClVFXkZqIS6VCMlGTwEpspKuXUvKUsINDACvB2LZsuVNzaNWM5qeqr6+oEm5duam1P79nqnDS1KWpSTczRe38bUyqHaAuJLHcfcVlgGeUtrA2EokfxIdd/VqXEI+7dzZt4ubmK7IvH1PbuvvZE5glIFUvyTp6p0Km3Yu7nZiJiMp/Gr0zZhcpalrUM+WtvoEhuFsYUZ0RExEiXEHd73s6Ni4pKe3IxMiIxOiolOflgucOvj19LMQUxhuIBbJs+9cuXMlMjWbM+nQ3rgkIeFWttjXwwirseDvZytuMI1l+Z2nIp8WzP1Ld67fy5GJbbsEt2lhSJGN2OzQ0d5QmRd7M/rK9YQHqXKJZ9ue7c1EPIGZdUOnoOmXx93cF1po4uNiBTMnr4NXvzmB/weUl8tJkqCo58aaMJlM0VRDMplSoVCZm0ublKtuHKSXB+li5BVlSlJkwKutqVpWUc7yJNo5X8SqFJVyjRpzGE7QfB6fxjFGUVrG8sUCWiudnFpWWaYk9A34lMZSpaamDIdwzXkLhHTV2J1aXlkhZzhKINEjlOXlFapnrYETBMXnCWjd0kbEqWRymYJhtZu/UwIekpUrGEog1iOZOhYaTsNjSis5Hs0pNV9pakqSAiFP96JeYzYJtVx7XPsFjlM8WsDXDYlyDZ8Cq6gsqURCsZAHL5G/Dl795gT+H5CdXcTjUQLtRMMz3sZpE4KvJ3n+HWBSoCep7dJTPP0XVpEQPAPJMznTJJYKai0J679NTPKF4pqjtL6IbnxsUtNaVB3fVySh61toJA0pNtD+j89/VZsUX0DVryvW8CngPKEU/EEAaK5jhQAAACCFAAAAIIUAAAAghQAAACCFAAAAIIUAAAAghQAAACCFAAAAIIUAAAAghQAAACCFAAAAIIUAAAAghQAAACCF/4/gChNDzqTKoCEAAKSwGcM8+m3TxI3RpbCVPAC8fcC2af8C8viTpw+curpzZ6w8oDcoIQCAV9g8O8aKjPgnGYy5l6sebNEEAOAVNlcwceDc2V055vay6LP3oDkAAKSw2freJIFrN3KHlgAA6CADAACAFAIAAIAUAgAAgBQCAACAFAIAALzNwAzyvwbh+/mOApbgwTwyAIAUNmsPnKT40AoAAB1kAAAAkEIAAACQQgAAAJBCAAAAkEIAAACQQgAAgLcYWEzzL8AVRR5ZtGj/kah8tdSy/dCx61f1am2gXV6oSrn26YJd+66lq6xbDJ4388t3HYR1sxUmHrnF793bTlDz+ac+w6edV9U+xiymffNkSzu6YTuqizNG9NpWwNatCGE+5+KejZ3JptpvOH1T699oO6iSj2yfteLM5ccyfWvHbu9N+XaxjwVRt95syu5vZsV2+nNtB4OX1pMrS961avu2YzFx5ZIO70zdvKarEw23HwBS+JYIYd6lGYM23+k25eczbcxzIz6f+2WfQmHMjs5GqkdfjFj5q+HoLYdn8W7umTFtKWH328YutUsPdRsAnO+dGGwnqFqVzeQkp9E9Pv1sQfsqncD41k6U5v/KBu3wvGZ8enKgsjZodkX43g/+MOvuTjTZfmPplU2rf2PtIInbN2b8Ocm8WScG2eH3j86ZvWyiyc5TU81qOyyqhEOTZx2/0aGFSnMyWOP1ZPP3TlkwOyngq83rW6vufj59zSiJ1c1PnOEWB0AK3wolLDh15gQK/GPLiAEGml+30/bSeLfZZ86Wdh525/gvCe4f35swxJFA7T/67PrY+T/eXNWlm7ixDQCUOSnZRu16+wX71sgZpg2BqLjesB0jjza9WtbklieuWJbV+8vl/Y0x1ET7jaVvrNxG6t9YOwS0O3El1m3wzaWBHjSGvKZ/cjb0vVPRZVN7iauLefzV1D1JBkJNHu6l9VTHHPnipNGC67MntaIw5Lrpi5y5EamZrLMtDAIBrwDcJv+4FBarhK37tmtnQOA4huOkoa2pRC0rVzBJ4Q/yXdv2sCe1xylJ9x6ussj7D1SNbgDAZmWlMSb2NgRTKZNzuBbt12xjdjAMw6tBSdu37jAf+9kgIwJrqv3G0rNNrH9j7cDp+w34YmkXF57mMIZr64d4erwab1R+a826n0wnrh0ixv6qHdJCo5JdOg70oAmdfYfRcw593d0GbnAAvMK35GHjNPGTsPdwquo3yZVc3HMzz613B0M2I60AmZvUDIrhplaGZHZuhhohquENAJi0rKeqrF+HDJ0bVajmS1v3H7N5yyh/Q6ZxO7X+2LVVX5eO29/bvuoI1iT7WCPpmSbWv7F2ICy79puJMEKeHhZyL+pW6OZQ29mHfXVjjlzp1e1TdlutudTLftPuv2yHJ0nZnKHi8vwFE47FpzIm7UeO37i6hzsFdyAAUvh2gBEkrdMLtujhr4vWfXRAf2bIME8SpcqUSCisdZxwoUDIFVYqEBI0uAEAV56eXyHUazd7zfG+xuXRoUun/jB0ptn93Z3kjdup8qLif/r9XKthUT7PAkE0xX53E6zhDQnkTat/o+2gMa85zFWkHNkWciYxrdyhr5uxVsC4wsjF719ts2HzSGvi1iu0Q0W5QnHl8Bbjyev3TDXJjVo/b02vEmH0zx2lEP8CACl8a1AmHf1lyswD0aZB6859ONnHAEcqPp9CeXIZh4RVswqVskqM4jU644lJxq7OHsnhJEkSmFmXQd99csttzvmzJZ3MXm5HHv3j9uygL7tZE3+h2I3Y7z5O0nCGJta/sXaoKd4w4OtzHdYrsvdMmT35PbO2V/s9WvTNxS5zrg4yJjH1q7SDkUZ/LYK++nFkP7HGqvPWwvvu806e+brjGDHcfgBI4VuB7PaGJX0/z+n0yfq7H3pbC3QuEyIsbIxRVEEOi4y0IsUV5RSrTR2tqJd5l7xaOcMJQ1cbUyYuvxjzfqmdyivnD8va/9BT9Je+USP2WSRpcLytyfVvuB04WczRc3GW3Ub5iUkaJ2nrESO95k6Mj5G1vROe/Shhsfn22uzrTHg7qhYDNVRP5G4uoezsPcQErq0vaeRmY6qOy9bUXwzjhQBI4VuAImLXhM/yh/753abexjSJ1XYonTu0MFp/90rOuy0tNccqr156yPcd1KpRKVFcXDhzkXzCxe8CJJhOehJTcwysXU3Jl9qRX9p3TRH0UY+/9owas9+YjjS1/o20A4Y92v/jh0jc589uujpyRVkFCpGNmOc479jOdxVVk8ZM9NeLJycNvLClh6M9c3Hh9IbqSbn6uurveBRTxjlqp1i4grjkbKG5ozHoIABS+Fagvr0vNMnZf6U4+3ZEdo2MGLj62Zl0HjjZbeYXc0K813WkbuxYfkoy/lh7SaN26DZdHPNGb5riTH3a10weG/bpp9Gu728MFCL+S+yoHl+4LPNa0EL/r+vZqP3G4Det/o21g223UZ0E7/z84Y+iRYHGiriw5V/GO4yZ4k/Teo62JjV5i6UkJjR0cbfUKBvdWDv0Gvie4cIFU/bzP2lvknbpk1XRdhO/DtKDOxAAKXwrkCc9zldEHxzR7WAdFQnYlbXuXQOXxbsXl8z6tb/XZsa8xajvVn/WRfiS/qu03+xjP/668sdNvVYWEFbO3Wd8/vN8d+2CZl6jdpike1ezzYJ8X2XmoHH7jcFrUv0bbYdx/WceXL9tyaaV/guUIht7/wnLjyxpra9zGGvrVu1AYtpDjdZT2HrFngWK+Tvf7byds3Do8cGabQtagxICrwgmkymaPPQlUyoUKnNzaZNyBcaG1v4d6hnYfJqYUSpV7Iu9S4pP6kbYWLWKYVhO8zPHSZIinpMszXdKluDRz2ZiOYZRMyxblZ4gSLLmq8bscIxSweI0RTbUTWyC/UbSN6n+L2kHVlOuWlMshzVUbn1Tr9QODdmBmxPQkJ1dxONRAgENXuG/CkHTjU7eagSExhu7BvU3AMAIgiKIJtjBCJrfaOFNsN9I+ibV/yXtoJEtmnjZDPcLpprcDgDwV8CgMgAAAEghAAAASCEAAABIIQAAAEghAACADpht+8dRnv3Sqv+JIqex12Ont69qb8X18ZZLfi+3WXx11zo/4n+zfmeG87yteV7fP9w4829EpKrMe5BYIXWztxTChQLAKwT+UbTr37RL3uosquOqD3Gvz/rfMMVVhH+2qG2H5VsSGLhKAHiFQPMT5/R7Ow5ERV64uPvcUyVu9zoUGQBACoH/Da4o/sePt248Ev9Uqe/Usevcz6ZOaqcNAyiLP//Jwt37rqflymkTV4/hCz9cO85R+yaZOu/k6m8+3XXvodJ80NI+eB0hq3hwbvni3XuupJfrm/v0GbRq7fAupjj79FAP141XTAbv/tn08IpTwsW7ftI7v+LTM/ksp0YQzA8AQAr/VUfs3GT/e9WBTrmylPKaN2uZ9M0j58+5xLr07D7OOOdiyOH3eyaX3/h2jmPiqhFfbEykHf3bD5IU3roY+cPUNabePy/zkF2YP3volgxWYu3bkj2/aHOBiqu6jGzWxUnBaw4Um3UZEuxQGBOy64fed0vCrk/15TitWpaGf/xuXmohPYJBdND8x3lzOCZlbacPVsfBxQEAkMJ/zfWTF8ZHFdZve1XE0Y2XKyj/D48dHuZAsA9bzmq7LHrDd/feXy7DvTuP6tVpxZpAJzx/W9+xsy+nxT5kOMPQr3ZkqPS8vgxbP8cNf7pzue+M8CKdEj7atS8kG/NYtPLkKjeaLQgY9u77Zw5tODZmf0fd1xUqj+XfhY53MhdTCEc8PoEYCgenEABACv9NCOdRYVHv+1a1t/LWNKdPdpVqFbIg9nE6wymu/eCm90Nt4rz4lHzTocs+E/6xK2zV8JDY2OSEDI3vh7MsUkXH3pZxdNfA0R4CGkeOI3t2W3AzRLsnsDr23hM1x8R+OU3/y2fFJsZlqXVSiIl9p37Q2kEPA/UDAJDCNwhG8ml+VXvjz0K46OJOYQbdxmya6FR7MXBjF3Fu2MROqw9WOIycP3TFfMesH+bNOa6bKpYptPFMcZzSmcB4fKEmm0pnSevjkW0/mD+vI6+2VFFL0+rdggV8EQU6CAANA4tp3rA+Sj0crQmkUIg7jggaM6ZHH7uK2JjHD0txPOLa6RyWChi2cUn/of54xiNV1ewI6WjjSCBl5KUDSWrtNutnLl0qr/qGaNHKjsI4mb7DkDEaU51bsmnRMSmFiA/yBwDgFb7t0L79p/sfX3jtlz79nvSyLrh87HYi6/LJ4Il8zNicwB5f/GXAyEjjJ3cvJLIY4hQKFeHZbXjr3ffvRM0PmHTYi35041EWV6V1uOvYIX03rTu6aXnP9IAWFQ+OnUoqcxp0eBGNKqGZAQC8wrccym72nrXrRjuzdy/uPJZM+PbfeHTd8g4C0m/sTys7eUhlD2+n4cFztk4yxTnV5X2XMgnHebs+XTqylQuRHXFP0fHTqaPNqt0+wqbX9qPzpgTwHx09feCWwn301MMnZ/U2AqcQAF6hgwZRrP9xWLVCyXIYQfOImicPq1KoGQ4jq+JLc5xarWZYTht8WRsNmqhKx6rVKobVDgISBMExKk0GnKRpHOM03zBV6bVJGYbhcIpHagcgWValje+sjQeN41pT2vFDbSxrhn2uAlVwaqVKzdZUoxkDUaybFRDF+k153iTvxejPGuWin+0Nh2EkRZEN5CN5z47iRG0GjSJSdWI1k8++0U6n0PVUrdFY1hoRpOEOAADoIAMAAIAUAgAAgBQCAACAFAIAAIAUAgAAgBQCAADUAksp/mGYJ190nLjOYXn6vkAD3QH5+Q2OfU+7frsndKZZ1fLBuLXvt1lv+Xvq6pEGDVkoPTfI+vdWl3Z83pZ4M6egVpTJMKGIbkLxyrzLP/2xYeeN8IQCOU/q4td+3NzxM3uZ85U3J1kv/q2ArfdEFk8+EbI9mGLy43es3739SHRseiVhZNkmsMfMj0cObSHULRNXnZw0eMDO0qrXDDGc1DNz7D192jeL/Wyq72KuNDb063Uh+8MePynmxLaOXQYP/HhhcFvD6ue9+taPnr1z1matGMKD+xIAKfyXIaw6djCSn3xwXxUYoF3+x9wPvZfHqksv3C36UPcmCFcRFZGKeQf76TdmgmVfT+j/v4ny4kaX6bx9iXO7Uq+WQZGydfj8eZEmY2a8s/kzO3Mu//axI98MnnJy5VcnFnouP7ftA+3r1GzS9s8nhnn/smugC6Fd+WjiQjJpFyf2XHtcEDB91qxPPE3p/KQzv+0b73/15qFv1geKMd2uBbT/e8e/DtB84NSyp9dClqz4ZKzeb5fmWhOIyzv3fdDI47LOA6etGenloFeWGPXHd5s6Hb33+7nFw6x1aqiN28ixcE8CIIVvAqptp5bC7fER6WyAA47YrEtXcr2DvFPCb1+v7D1QT+OrPI64yziN87T6p8YqOIbhCOJ/sK59eYV7ZSlm4zZ9ufCmw9oLn830EOA4plGtTkGdBrRb3W3O2i+6bf/c181el4w+ycP4hi3aurepUlgu/7dxX4dIR505MaG9lNDlax04oHPAjFnvTN7WI3pRb53LjInMvdu5G+MaWUO+vs6ym8PfPx9dPMfasPj6wslHFWM/u/RtezMS08b76eTdb7DPkt6Lp81p53+wlwW8fwiAFL5ZRB292mA/3bwtRw5CLv9eWJx17wO9okfsvHBHNbAzxTyJu50nat/JUSMITPadrxf/tivscapM5Nlr4GdfjQ2yeE7CFEmXVy7affBaSg5tHTTp/Y3LO9pqLiBXHrlt80ffXIlMV0lc24xfOXvVYCseYmNWT+kd331O5dGVJ/MwU6dhny35xOjMB/NP3irgufaZsOO3Id4CbX/9wZ8/L9l0PTyhmLL3GPHRh2vedazrniqOf24x/Hwxg4Kkcasjti11SNu99Ps1+2KSy/n2/oFLvvrgvVaC585W9eCXnx46Tt86o7UeVa0+GI4LXMdPm/Pr5I0/Ry3z66DLUBMuDMeq/mISz24NFb4TMrajMVVzzhhOmAz+7N0gz++3HpsWPK5qUz5tLDJNFm0unCBxjC/W52NczuEjB+X+21a2t+DVBkAjaJM2y1Z0+3PskT+TgxY4wbA48DLg/vjnm9i8VSdnVVREsgqhiht3IqWtA/19engXX7qQqtYcuRMfR7p38aWR8vG6wUu3FPms3Pf9teMzB5QdGdzvt0h5HUMV0UsHfn6ACNx4Yuv5HzqV/rTinR/SGcRm/rmu/8cPHOeuuHz9642DVb+/s3jZdW02jmXzDx0K9fsoIv7XP0aggzOmddtIzw3ZfuvP3vzTW1cdKdckyQ3Z0HtWtOXUBWeubdo1y+L63HkT9+TX7ULy+n2cejDYxGbQ6awti1pUnp63cOoJwYSfNt248PFkg5vTB3x7rOA5f5FNj7uZZdythyPveS8M02h3d6uSW7EP1Q23Utnt2Dh+617+es/fkRhh3i7IS337RpKqyncsz0t4kPJA8y8m/vQPX68Os5wyrZ0eUt8NT2Ta+fQwJp4rFsOkXX07ko/DoxRwHwLgFb7xLrJ95w4GX0XGZ7DuaWH3uY4z2wlNjLpbL71wJ32FfUbEI5XnIH8pprgUsvWx75fH3xlqpPk9O7bcVnrd/bcdEe/5tqk2U3L60G+FAT9uHt7HiEDt7L7JylzyNLOSxff8eNNg4obvpnnp41hbz8XFke998nPUqgBt6GrSa8iGj/xa0ViLKZ3dt1d2/2zCwNY05jFodJvDf6YVMWz53u+uGM784duJLnwc41rO/DYhqvevV7NGDXnWW8dJHqkNLkvxKaIo9Mf9yiE/fzSvn5jUdF+3qmNar9l2dPqASdJaAWKLSooxAzPT+lMsuIm5GBWVFjTc02ZLCso4iaVx/QkNQmJuhBUXFFcJtPL6L529fqm1aRo4PthJ4y0qiwpltJFUUv/JLpSaiJjH+RUcEiAezefTEL4RACl8U9A+nVtSB2Nvl7Z9cLXUZ4anCBHu3dqYfXM7LK9zSVSBVcdW9gSX/zA9vyR6sn3wlJoxPpUC65+hRtVSyCTdS1G0HNzBkMS1P3iq1dQlIRxOqyMeJBJtZruLdKOBBGXcsYNlxYnkp4xWCgkLUxueNjYNwefxCRN7W0o7BkfwBRqfjeMQk5mYpHxwc4bhV7XDimrGJT+bRQ0OXDJJyQlqh9kdxbotUTDSyNPfk93w4KkaSWsnVHADkQFXml/I1utwcMUFZUgikjSsRLiBVA8VlxRpfMYXJmfY8vxizsBFVGWO12th0uHehlojXGVWws55qwYPRJdujhdL+Mrs0nKuXqBaZVlBOSY21M5BEyaGpqYqE+gIASCFbwqxv1drRciNc7fvJNn37qxVA7pdu86CcxfOR7MP+O3nOdOaIzyacBp+5nbN/idVLhFFo4qaUTgVgwji2UAaQWpjDCkRqxtVe9aj1OgUw9bs8f5CN/VFf5XHp4I37z80Vr9ul7TRYDVc1eBenaQ4Ypnn3Dzc1t3HLD/sYpo6wPE5M2z2xYvpYl9Pt0aMi9q2dJOdPH9LMajrc54hl3/nwj3Sd7wzVVu9Gs+Ob996xuKgbUFXTyS8N9XPBf80MrS430jpcydZfj0yXOUy10cbGggzNLSwVpuCFAIwVvimIGxaBdjmXdh47q6VVzdHXedR6BnUQR32fchNpWuX9nztLkytnOyy4qNySW0njk/TWRc/6P/D0fxaocEdW9qQcfFR5dXS8njzItehx1Jxm5YuzL2bjxQ1vtetiEy+m73NqywCJG29W5IxEY8ZXYl8Pntz3dJR3z1iGjsLRztX4snN2zVBscsSwmMx1xbWz4kb3WryBIeHW7Zuf6iq61A+2b316zuWE6a01WusLi16TelUtmvp3poTrO5vn/p0xxmDwGkDGvImMQxTquQcQZK4xdCBA8lrq1ffKayjzFxJ7BfLLih6DRjtqLvPaacRk7zM4ZYHwCt8c8OFTp07CL/a+dhk0tTWVe4NJurSw7Vw7l3We3KAifZnTnn3fb/d0TUTthqv6dtelLFz3paTginLjLEarxAz6j9w+KqVC2a4633sZ5Z9ZdG6++bzP7QiLUZO9tkw/+vZHvPmBAiSD/+0PNRw/Alf0avUCjMY8EHQqhHfTHKfs6ifZcWlXR98mxl8xK7+8kGurDA9t0JuGjBl6C9jFm5opze+t1nRubXf78e77Bz8vBuGSK/5iz67sWhu9zn35gzo28FGWpZx6+ypb7c/cliy/uP2jS9uJiym/jDncp+venV/Omda504ehsrUh6F/Hth8WTBt39SqLjGqmTaRVnWQs+N3LDmd5zm6vwuOk102bO0T/O7SgKfDZo309rYhMu/fO7j5wJHKLr8d6FW1rJDNykpLlqUyrm4E3JEASOEbGi5s37kFf1d0x64thTVenlW3di3J6PyOrV2qLgJl8+Efn8kWbFs68HABZewVPHb/l/2d6vxoccOO34TMX7b0wMSuW0tFNt0mL9s5w5ZEmN34xSGlWxZ/vrhtplri4j3uly9WddEU8ipLiTFprxkhW376aO0XnZeppM6tRm39fHVXwYu3iKdvsMlXk90XZEZu+eibtd8v3bxh7PsLK/j27bttPDJtSL0OJ6bvOvfAlpbbdm/avX3C6mJGYubi4TFl19y5g+0lL/PIMNoleNdli1+/2vvb2vVfZin1raxb+nTbcnH02LaS2maoM22CEXwDlx5D//x2jJdWvAmrAXNDL3p8+/WxjXMOPi2nzB3tvLu9f3ZR/06WZJWOMmkR336RbzGrC0gh0MD9BwH9/x04Rq1QsQRFU8SzQ0oFwxEUr2YBXnVkf+b5cPyIVcoZvDr0P6tWab/XrbnTdgyrcrKMJh/LajcEwAmS0IX2R5xapWAJHq1Loy2LI3jV3zBKFYNTNFn1gVGpq7cAqM37fNVZlVK3/QCPIjHtxgK65NoakBRBNDwNoqkoq01WZVe7TQFBPr//vLZ6mtN6YY8BTlMdDVXnom0FTYVqi9DUQ/l8711TB4oi8Gftp2kJ3VYHVXsjEBrwZ8WyjELFkZpGgJuzeQMB/d/oM4cgXwyqXz/OflVk/xc7qDjNf7bomKTxBkL/E2T9N4Q1tvjPlVX3w7PkGEHQxEvdJKzu9gMYQZGv4FRptY9GL0uorR7ZwPCfRuCJRu5KjXrzX/ryH/bCVgf1mokHbx8Djd0d0AQAAAAghQAAACCFAAAAIIUAAAAghQAAACCFAAAAOmAxzT+O8uyXVv1PFDmNvR47vX1Veyuuj7dc8nu5zeKru9b5/W/rfZV3ZjjP25rn9f3DjTNtXv3Bpnoc8sv81WcvPawQWNu17z/ii1W9PPXhWgHgFQL/HKwuGj/H1nn/g6s+xL0+600xJb/5y6Cxf56IVzv4e9rJkk9sXNN7xpV8Di4VAFIINCPUN/84l6gkvD7++vrJ9VdCp3fX4zJDTh4vAC0EoIMMvDm4ovgfP9668Uj8U6W+U8eucz+bOqmdHoaQLP78Jwt377ueliunTVw9hi/8cO04R21kF3XeydXffLrr3kOl+aClffA6Clbx4Nzyxbv3XEkv1zf36TNo1drhXUxx9umhHq4br5gM3v2z6eEVp4SLf+xToBQYmPgH2OvTJLJ18TTFQtOLcgs5ZAxxTQGQQuAf7SWnn5vsf0+vSmq4spTymuiBTPrmkfPnXGJdenYfZ5xzMeTw+z2Ty298O8cxcdWILzYm0o7+7QdJCm9djPxh6hpT75+XecguzJ89dEsGK7H2bcmeX7S5QMVVXUY26+Kk4DUHis26DAl2KIwJ2fVD77slYden+lZt0lQa/vG7eamF9AhGOHzX4UEMRujepmOzk2JzOFxk5QThqwCQQuAfd/3khfFRhfXbXhVxdOPlCsr/w2OHhzkQ7MOWs9oui97w3b33l8tw786jenVasSbQCc/f1nfs7MtpsQ8ZzjD0qx0ZKj2vL8PWz3HDn+5c7jsjvEinhI927QvJxjwWrTy5yo1mCwKGvfv+mUMbjo3Z31H3dYXKY/l3oeOdzMUUQSFC9zIvVxC98p3tl2R06znDehvAVQJACoF/GMJ5VFhUTYRq5a1pTp/sKtVpUezjdIZTXPvBTe+H2sR58Sn5pkOXfSb8Y1fYquEhsbHJCRka3w9nWaSKjr0t4+iugaM9BDSOHEf27LbgZog2TKo69t4TNcfEfjlN/8tnxSbGZal1UoiJfad+0NpBD6sN41J+/+T00Zt2J+KtpnxyaJkHTCADIIXAvwBG8unqWCz4s9BWur0vMYNuYzZNdKq9GLixizg3bGKn1QcrHEbOH7pivmPWD/PmHNdNFcsUCs3/cbwqshfG4ws12VSoaldMzQVt+8H8eR2fBWARtazecgkT8EVUrQ6yGSe+G/BuyD2F2aCvPv1pRktjGkYJgWYNDA+9YX2UejhaE0ihEHccETRmTI8+dhWxMY8fluJ4xLXTOSwVMGzjkv5D/fGMR6qq2RHS0caRQMrISweS1BphzDtz6VJ51TdEi1Z2FMbJ9B2GjNGY6tySTYuOSSlEDWzxpo7bN+qdw/dklhN+/27PLA8TGgchBMArBN4ktG//6f7HF177pU+/J72sCy4fu53IunwyeCIfMzYnsMcXfxkwMtL4yd0LiSyGOIVCRXh2G9569/07UfMDJh32oh/deJTFVekY7jp2SN9N645uWt4zPaBFxYNjp5LKnAYdXkSjyhfKVIX/fPimRkCFsogvl3deXy2xc/YuHmcDj0YAvELgjUDZzd6zdt1oZ/buxZ3Hkgnf/huPrlveQUD6jf1pZScPqezh7TQ8eM7WSaY4p7q871Im4Thv16dLR7ZyIbIj7ik6fjp1tFm1S0fY9Np+dN6UAP6jo6cP3FK4j556+OSs3kb1HD628O69Aka7OUhBXFTC7du6f1GpmXK4GEAz7qBBQP9/HFatULIcRtQJXs+qFLoQ+dVh+nVx/NnqKPQkSVSlY9VqFcPqIjsThDaQPqcNYq3pzHKsuipsvTYENY4YhuFwqipYP8uq1Ex1eP7aLQF0OwewzyqgDeivenHvk6p4/c30ZwAB/ZsVEND/TXneJI//4qE6IfJr4vg3kI/kPTuKE7UZXghbTz77RjudQtfz9F/cOeC5gP4AAEAHGQAAAKQQAAAApBAAAACkEAAAAKQQAACgBphB/hdQJR/ZPmvFmcuPZfrWjt3em/LtYh8LmMEFAPAKmxXMg31jxp9TD5514urm/UudE79cNvHXHBbaBQBACpsT7OMTV2LdBn+1NLBLG+dO46Z/0g+/eiq6DBoGAKCD3KzQ9xvwhaunCw/XPnZ0IWl4ejwK2gUAQAqbld9t2bXfTIQR8vSwkHtRt0I3h9rOPuwrhIYBAJDCZgWG4wRCXEXKkW0hZxLTyh36uhmDUwgAIIXNUxANA74+12G9InvPlNmT3zNre22sG0wiA8Db032DJvhn4WQxR47uvVWiiypD8UTWI0Z60Q/iY5TQNAAAUtiMvEHs0f4fP9x4t7RGGouyChQikRhcQgAAKWxO8LqN6iQ49vOHP0bFPEyNPLJrypfxDmOC/WloGQB4i4Cxwn/cLTTsP/Pg+m1LNq30X6AU2dj7T1h+ZElr2F4OAEAKm5kWEmK/aQvOTp6niy2N4QRBkrCrEgCAFDY/NPJHEzA6CABv8Y8UmgAAAACkEAAAAKQQAAAApBAAAACkEAAAAKQQAAAApPBfhitMDDmTKoOGAACQwmYM8+i3TRM3Rpdy0BQA8NYBS6z/BeTxJ08fOHV1585YeUBvUEIAAK+weXaMFRnxTzIYcy9XPXjhDgDAK2yuYOLAubO7csztZdFn70FzAABIYbP1vUlC437j4BMCAHSQAQAAQAoBAABACgEAAEAKAQAAQAoBAADeamAG+V+D8P18RwFL8GAeGQBACpu1B05SfGgFAIAOMgAAAEghAAAAdJDrEBgbCk0PAAB4hQAAAP8PpBCmQQEA+I+CvSYpxDBQQgAA/sNKiNWTsL8/VshxHIY1QRJDPQPhGgAA8GbRCNdr6yBrFBDDMYZhoVkBAPhvoREujXzVd+P+phRqTKlUamhWAAD+W2iES6eEr0cKEY7jFZUKaFYAAP5baIRLI1/1x/b+rleIYyzDKsExBADgv4NGsjTChb/ODjKOEwReWlIJjQv8X3vntqMgDEVRClUzxPj/XzmTiBri2HZ2KSAxzk2RQLKWD75oMTZZ2ee0UIClIGVJXE0qHE2FRiOG4A8HjjgHgAUgWUlZjQrH6xVqII1Y2OJ4rE80DQFg3khTkpWUJXHdWzV5cF+hUmHWnOOWZausqk7e++32jb8bAOaZB+XB1craVB7HwyfNCCqUUENoy2RrJUUr49b1525Xrtc8ABEA5sL5fNnvY1aLHrTX0ni0u02a4ULXfYyjO+fePypJtyw3EmJKocwEAExMCME5Lwkqol2cs0UuD8aGXlca31XT4yEu2VDv6QKyYl547+JCivehI2s+AwAwAa3pWiPlJsayPGF+8GD25PMK+6jZbLouch9fvQSvIkSGAPByDbb9v155adtfql27+vXbbz/b2ksyHApxGAYDEgSASWPhTTzsE9sv/To70uX760t/ZlCzMzUAMLEKzVCLf1y0sKP+CNPZ8MbQAAATlsr/l89L9r70GZE5AYBFwNkmAACoEAAAFQIAiC+AY64mCmVuZHN0cmVhbQplbmRvYmoKNDggMCBvYmoKPDwvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTC9MZW5ndGggMzMzMj4+CnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOjhmM2I3MDBjLTZkMGEtNGYxYS1hMDNhLTFmZGUwZDQ2MmQ2NCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3MGQ1ZWY4ZC01NjRkLTRlYmYtYTM3OS04Y2IwN2M3ZmJhNTkiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2YzI5ZTQ3ZS0zZWEyLTRhODktOWMzOC04MDljNzY0ODVkOTQiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE3MjE4OTI3MjQ0Mjc0ODgiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zMCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZDUzNzIwZS1jYjVlLTQ5NGYtODViYS00NTM4ZDY4ZDk1MWQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA3LTI1VDA5OjMyOjA0KzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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</File>
    </Filelist>
</otrs_package>