internal/templates/AppLockerProject-1.0.0.xml
<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
<Obj RefId="0"> <TN RefId="0"> <T>PSModuleDevelopment.Template.Template</T> <T>System.Object</T> </TN> <ToString>PSModuleDevelopment.Template.Template</ToString> <Props> <S N="Name">AppLockerProject</S> <Obj N="Type" RefId="1"> <TN RefId="1"> <T>PSModuleDevelopment.Template.TemplateType</T> <T>System.Enum</T> <T>System.ValueType</T> <T>System.Object</T> </TN> <ToString>Project</ToString> <I32>1</I32> </Obj> <Version N="Version">1.0.0</Version> <S N="Description">PowerShell Framework based AppLocker CI template</S> <S N="Author">Jan-Hendrik Peters</S> <DT N="CreatedOn">2024-06-02T00:00:00+00:00</DT> <Obj N="Tags" RefId="2"> <TN RefId="2"> <T>System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]</T> <T>System.Object</T> </TN> <LST> <S>module</S> <S>psframework</S> <S>applocker</S> </LST> </Obj> <Obj N="Parameters" RefId="3"> <TNRef RefId="2" /> <LST> <S>domainfqdn</S> <S>name</S> </LST> </Obj> <Obj N="Scripts" RefId="4"> <TN RefId="3"> <T>System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[PSModuleDevelopment.Template.ParameterScript, PSModuleDevelopment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]</T> <T>System.Object</T> </TN> <DCT /> </Obj> <Obj N="Parameters2" RefId="5"> <TN RefId="4"> <T>System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[PSModuleDevelopment.Template.Parameter.ParameterBase, PSModuleDevelopment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]</T> <T>System.Object</T> </TN> <DCT /> </Obj> <Obj N="Children" RefId="6"> <TN RefId="5"> <T>System.Collections.Generic.List`1[[PSModuleDevelopment.Template.TemplateItemBase, PSModuleDevelopment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null]]</T> <T>System.Object</T> </TN> <LST> <Obj RefId="7"> <TN RefId="6"> <T>PSModuleDevelopment.Template.TemplateItemFolder</T> <T>PSModuleDevelopment.Template.TemplateItemBase</T> <T>System.Object</T> </TN> <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString> <Props> <Obj N="Children" RefId="8"> <TNRef RefId="5" /> <LST> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> </LST> </Obj> <S N="Name">.github</S> <S N="RelativePath">.github</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="9"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="10"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAABy5naXRodWIGBQAAAAcuZ2l0aHViBgYAAAACw74JBwAAAAkIAAAABAMAAACeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAvUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlW10CAAAACAgJCQAAAAEAAAABAAAABAcAAAB/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgJCgAAAAAAAAAAAAAAAQgAAAAHAAAACQoAAAAAAAAAAAAAAAcJAAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACQsAAAANAxEKAAAAAAAAAAELAAAAAQAAAAkMAAAABg0AAAAJd29ya2Zsb3dzBg4AAAARLmdpdGh1Ylx3b3JrZmxvd3MJBgAAAAkQAAAACREAAAABDAAAAAMAAAAJEgAAAAIAAAACAAAAARAAAAAHAAAACQoAAAAAAAAAAAAAAAERAAAABwAAAAkKAAAAAAAAAAAAAAAHEgAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAkUAAAACRUAAAANAgUUAAAALVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRmlsZQkAAAAFVmFsdWUJUGxhaW5UZXh0FENvbnRlbnRQYXJhbWV0ZXJGbGF0FkNvbnRlbnRQYXJhbWV0ZXJTY3JpcHQETmFtZQxSZWxhdGl2ZVBhdGgKSWRlbnRpZmllchdGaWxlU3lzdGVtUGFyYW1ldGVyRmxhdBlGaWxlU3lzdGVtUGFyYW1ldGVyU2NyaXB0AQADAwEBAQMDAX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYWAAAAowoNCm9uOg0KICBwdXNoOg0KICAgIGJyYW5jaGVzOg0KICAgICAgLSBtYWluDQoNCmpvYnM6DQogIHB1Ymxpc2g6DQoNCiAgICBydW5zLW9uOiB3aW5kb3dzLWxhdGVzdA0KDQogICAgc3RlcHM6DQogICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QHYxDQogICAgLSBuYW1lOiBJbnN0YWxsIFByZXJlcXVpc2l0ZXMNCiAgICAgIHJ1bjogLlxidWlsZFxwcmVyZXF1aXNpdGVzLnBzMSAtQnVpbGRXb3JrZXIgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKQ0KICAgICAgc2hlbGw6IHBvd2Vyc2hlbGwNCiAgICAtIG5hbWU6IFZhbGlkYXRlIENvbmZpZ3VyYXRpb24gRGF0YQ0KICAgICAgcnVuOiAuXGJ1aWxkXHZhbGlkYXRlLnBzMSAtVGVzdFR5cGUgQ29uZmlndXJhdGlvbkRhdGEgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKSAtUHJvamVjdFJvb3QgJGVudjpHSVRIVUJfV09SS1NQQUNFDQogICAgICBzaGVsbDogcG93ZXJzaGVsbA0KICAgIC0gbmFtZTogQnVpbGQNCiAgICAgIHJ1bjogLlxidWlsZFxidWlsZC5wczEgLUluY2x1ZGVSc29wIC1EZXBlbmRlbmN5UGF0aCAoSm9pbi1QYXRoICRlbnY6R0lUSFVCX1dPUktTUEFDRSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVNvdXJjZVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgY29uZmlndXJhdGlvbmRhdGEpIC1PdXRwdXRQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIG91dHB1dCkNCiAgICAgIHNoZWxsOiBwb3dlcnNoZWxsDQogICAgLSB1c2VzOiBhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2Mw0KICAgICAgd2l0aDoNCiAgICAgICAgbmFtZTogYnVpbGQtYXJ0aWZhY3RzDQogICAgICAgIHBhdGg6IHwNCiAgICAgICAgICAuXG91dHB1dFxyc29wDQogICAgICAgICAgLlxvdXRwdXRccG9saWNpZXMNCiAgICAtIG5hbWU6IFB1Ymxpc2gNCiAgICAgIHJ1bjogLlxidWlsZFxwdWJsaXNoLnBzMQ0KICAgICAgc2hlbGw6IHBvd2Vyc2hlbGwNCiAgICAtIG5hbWU6IFZhbGlkYXRlIEludGVncmF0aW9uIFRlc3RzDQogICAgICBydW46IC5cYnVpbGRcdmFsaWRhdGUucHMxIC1UZXN0VHlwZSBJbnRlZ3JhdGlvbiAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgYnVpbGRccmVxdWlyZWRNb2R1bGVzLnBzZDEpIC1Qcm9qZWN0Um9vdCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UNCiAgICAgIHNoZWxsOiBwb3dlcnNoZWxsAQkXAAAACRgAAAAGGQAAAAtwdWJsaXNoLnltbAYaAAAAHS5naXRodWJcd29ya2Zsb3dzXHB1Ymxpc2gueW1sCQYAAAAJHAAAAAkdAAAAARUAAAAUAAAABh4AAADXB29uOiBbcHVsbF9yZXF1ZXN0XQ0KDQpqb2JzOg0KICB2YWxpZGF0ZToNCg0KICAgIHJ1bnMtb246IHdpbmRvd3MtbGF0ZXN0DQoNCiAgICBzdGVwczoNCiAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjENCiAgICAtIG5hbWU6IEluc3RhbGwgUHJlcmVxdWlzaXRlcw0KICAgICAgcnVuOiAuXGJ1aWxkXHByZXJlcXVpc2l0ZXMucHMxIC1CdWlsZFdvcmtlciAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgYnVpbGRccmVxdWlyZWRNb2R1bGVzLnBzZDEpDQogICAgICBzaGVsbDogcG93ZXJzaGVsbA0KICAgIC0gbmFtZTogVmFsaWRhdGUgQ29uZmlndXJhdGlvbiBEYXRhDQogICAgICBydW46IC5cYnVpbGRcdmFsaWRhdGUucHMxIC1UZXN0VHlwZSBDb25maWd1cmF0aW9uRGF0YSAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgYnVpbGRccmVxdWlyZWRNb2R1bGVzLnBzZDEpIC1Qcm9qZWN0Um9vdCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UNCiAgICAgIHNoZWxsOiBwb3dlcnNoZWxsDQogICAgLSBuYW1lOiBCdWlsZA0KICAgICAgcnVuOiAuXGJ1aWxkXGJ1aWxkLnBzMSAtSW5jbHVkZVJzb3AgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKSAtU291cmNlUGF0aCAoSm9pbi1QYXRoICRlbnY6R0lUSFVCX1dPUktTUEFDRSBjb25maWd1cmF0aW9uZGF0YSkgLU91dHB1dFBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0Ugb3V0cHV0KQ0KICAgICAgc2hlbGw6IHBvd2Vyc2hlbGwNCiAgICAtIHVzZXM6IGFjdGlvbnMvdXBsb2FkLWFydGlmYWN0QHYzDQogICAgICB3aXRoOg0KICAgICAgICBuYW1lOiBidWlsZC1hcnRpZmFjdHMNCiAgICAgICAgcGF0aDogfA0KICAgICAgICAgIC5cb3V0cHV0XHJzb3ANCiAgICAgICAgICAuXG91dHB1dFxwb2xpY2llcw0KAQkfAAAACSAAAAAGIQAAAAx2YWxpZGF0ZS55bWwGIgAAAB4uZ2l0aHViXHdvcmtmbG93c1x2YWxpZGF0ZS55bWwJBgAAAAkkAAAACSUAAAABFwAAAAcAAAAJCgAAAAAAAAAAAAAAARgAAAAHAAAACQoAAAAAAAAAAAAAAAEcAAAABwAAAAkKAAAAAAAAAAAAAAABHQAAAAcAAAAJCgAAAAAAAAAAAAAAAR8AAAAHAAAACQoAAAAAAAAAAAAAAAEgAAAABwAAAAkKAAAAAAAAAAAAAAABJAAAAAcAAAAJCgAAAAAAAAAAAAAAASUAAAAHAAAACQoAAAAAAAAAAAAAAAs=</BA> </MS> </Obj> <Obj RefId="11"> <TNRef RefId="6" /> <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString> <Props> <Obj N="Children" RefId="12"> <TNRef RefId="5" /> <LST> <S>PSModuleDevelopment.Template.TemplateItemFile</S> <S>PSModuleDevelopment.Template.TemplateItemFile</S> <S>PSModuleDevelopment.Template.TemplateItemFile</S> <S>PSModuleDevelopment.Template.TemplateItemFile</S> <S>PSModuleDevelopment.Template.TemplateItemFile</S> </LST> </Obj> <S N="Name">build</S> <S N="RelativePath">build</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="13"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="14"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAABWJ1aWxkBgUAAAAFYnVpbGQGBgAAAALDvgkHAAAACQgAAAAEAwAAAJ4BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2VbXQIAAAAICAkJAAAABQAAAAUAAAAEBwAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkKAAAAAAAAAAAAAAABCAAAAAcAAAAJCgAAAAAAAAAAAAAABwkAAAAAAQAAAAgAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJCwAAAAkMAAAACQ0AAAAJDgAAAAkPAAAADQMRCgAAAAAAAAAFCwAAAC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUZpbGUJAAAABVZhbHVlCVBsYWluVGV4dBRDb250ZW50UGFyYW1ldGVyRmxhdBZDb250ZW50UGFyYW1ldGVyU2NyaXB0BE5hbWUMUmVsYXRpdmVQYXRoCklkZW50aWZpZXIXRmlsZVN5c3RlbVBhcmFtZXRlckZsYXQZRmlsZVN5c3RlbVBhcmFtZXRlclNjcmlwdAEAAwMBAQEDAwF/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGEAAAAOsODQpwYXJhbQ0KKA0KICAgIFtzdHJpbmddDQogICAgJERlcGVuZGVuY3lQYXRoID0gKFJlc29sdmUtUGF0aCAiJFBTU2NyaXB0Um9vdFxyZXF1aXJlZE1vZHVsZXMucHNkMSIpLlBhdGgsDQoNCiAgICBbc3RyaW5nXQ0KICAgICRTb3VyY2VQYXRoID0gIiRQU1NjcmlwdFJvb3RcLi5cY29uZmlndXJhdGlvbmRhdGEiLA0KDQogICAgW3N0cmluZ10NCiAgICAkT3V0cHV0UGF0aCA9ICIkUFNTY3JpcHRSb290XC4uXG91dHB1dCIsDQoNCiAgICBbc3dpdGNoXQ0KICAgICRJbmNsdWRlUnNvcA0KKQ0KDQokcHNkZXBlbmRDb25maWcgPSBJbXBvcnQtUG93ZXJTaGVsbERhdGFGaWxlIC1QYXRoICREZXBlbmRlbmN5UGF0aA0KJG1vZFBhdGggPSBSZXNvbHZlLVBhdGggLVBhdGggJHBzZGVwZW5kQ29uZmlnLlBTRGVwZW5kT3B0aW9ucy5UYXJnZXQNCiRtb2RPbGQgPSAkZW52OlBTTW9kdWxlUGF0aA0KJHBhdGhTZXBhcmF0b3IgPSBbU3lzdGVtLklPLlBhdGhdOjpQYXRoU2VwYXJhdG9yDQokZW52OlBTTW9kdWxlUGF0aCA9ICIkbW9kUGF0aCRwYXRoU2VwYXJhdG9yJG1vZE9sZCINCg0KJFNvdXJjZVBhdGggPSBSZXNvbHZlLVBhdGggLVBhdGggJFNvdXJjZVBhdGggLUVycm9yQWN0aW9uIFN0b3ANCiRPdXRwdXRQYXRoID0gaWYgKC1ub3QgKFJlc29sdmUtUGF0aCAtUGF0aCAkT3V0cHV0UGF0aCAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkpDQp7DQogICAgKE5ldy1JdGVtIC1QYXRoICRPdXRwdXRQYXRoIC1JdGVtVHlwZSBEaXJlY3RvcnkgLUZvcmNlKS5GdWxsTmFtZQ0KfQ0KZWxzZQ0Kew0KICAgIFJlc29sdmUtUGF0aCAtUGF0aCAkT3V0cHV0UGF0aA0KfQ0KDQokcnNvcFBhdGggPSBKb2luLVBhdGggLVBhdGggJE91dHB1dFBhdGggLUNoaWxkUGF0aCByc29wDQokcG9saWN5UGF0aCA9IEpvaW4tUGF0aCAtUGF0aCAkT3V0cHV0UGF0aCAtQ2hpbGRQYXRoIHBvbGljaWVzDQppZiAoLW5vdCAoVGVzdC1QYXRoIC1QYXRoICRyc29wUGF0aCkpDQp7DQogICAgJG51bGwgPSBOZXctSXRlbSAtUGF0aCAkcnNvcFBhdGggLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UNCn0NCg0KaWYgKC1ub3QgKFRlc3QtUGF0aCAtUGF0aCAkcG9saWN5UGF0aCkpDQp7DQogICAgJG51bGwgPSBOZXctSXRlbSAtUGF0aCAkcG9saWN5UGF0aCAtSXRlbVR5cGUgRGlyZWN0b3J5IC1Gb3JjZQ0KfQ0KDQppZiAoR2V0LURhdHVtUnNvcENhY2hlKQ0Kew0KICAgIENsZWFyLURhdHVtUnNvcENhY2hlDQp9DQoNCiRkYXR1bSA9IE5ldy1EYXR1bVN0cnVjdHVyZSAtRGVmaW5pdGlvbkZpbGUgKEpvaW4tUGF0aCAkU291cmNlUGF0aCBEYXR1bS55bWwpDQokcnNvcHMgPSBHZXQtRGF0dW1Sc29wICRkYXR1bSAoR2V0LURhdHVtTm9kZXNSZWN1cnNpdmUgLUFsbERhdHVtTm9kZXMgJERhdHVtLkFsbE5vZGVzKQ0KJHJzb3BzIHwgRXhwb3J0LUFsZlhtbCAtUGF0aCAkcG9saWN5UGF0aA0KDQppZiAoLW5vdCAkSW5jbHVkZVJzb3ApDQp7DQogICAgJGVudjpQU01vZHVsZVBhdGggPSAkbW9kT2xkDQogICAgcmV0dXJuDQp9DQoNCmZvcmVhY2ggKCRyc29wIGluICRyc29wcykNCnsNCiAgICAkZG9tYWluUGF0aCA9IEpvaW4tUGF0aCAtUGF0aCAkcnNvcFBhdGggLUNoaWxkUGF0aCAkcnNvcC5Eb21haW4NCiAgICBpZiAoLW5vdCAoVGVzdC1QYXRoIC1QYXRoICRkb21haW5QYXRoKSkNCiAgICB7DQogICAgICAgICRudWxsID0gTmV3LUl0ZW0gLVBhdGggJGRvbWFpblBhdGggLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UNCiAgICB9DQogICAgJHJzb3AgfCBDb252ZXJ0VG8tWWFtbCAtT3V0RmlsZSAoSm9pbi1QYXRoIC1QYXRoICRkb21haW5QYXRoIC1DaGlsZFBhdGggIiQoJHJzb3AuUG9saWN5TmFtZSkueW1sIikgLUZvcmNlDQp9DQoNCiRlbnY6UFNNb2R1bGVQYXRoID0gJG1vZE9sZA0KAQkRAAAACRIAAAAGEwAAAAlidWlsZC5wczEGFAAAAA9idWlsZFxidWlsZC5wczEJBgAAAAkWAAAACRcAAAABDAAAAAsAAAAGGAAAALoIcGFyYW0NCigNCiAgICBbc3RyaW5nXQ0KICAgICREZXBlbmRlbmN5UGF0aCA9IChSZXNvbHZlLVBhdGggIiRQU1NjcmlwdFJvb3RccmVxdWlyZWRNb2R1bGVzLnBzZDEiKS5QYXRoLA0KDQogICAgW3N3aXRjaF0NCiAgICAkQnVpbGRXb3JrZXINCikNCg0KJHBzZGVwZW5kQ29uZmlnID0gSW1wb3J0LVBvd2VyU2hlbGxEYXRhRmlsZSAtUGF0aCAkRGVwZW5kZW5jeVBhdGgNCg0KaWYgKCRCdWlsZFdvcmtlci5Jc1ByZXNlbnQpDQp7DQogICAgJG51bGwgPSBHZXQtUGFja2FnZVByb3ZpZGVyIC1OYW1lIE51R2V0IC1Gb3JjZUJvb3RzdHJhcA0KDQogICAgSW5zdGFsbC1Nb2R1bGUgLUZvcmNlIC1OYW1lIFBhY2thZ2VNYW5hZ2VtZW50LCBQb3dlclNoZWxsR2V0IC1SZXBvc2l0b3J5ICRwc2RlcGVuZENvbmZpZy5QU0RlcGVuZE9wdGlvbnMuUGFyYW1ldGVycy5SZXBvc2l0b3J5IC1TY29wZSBDdXJyZW50VXNlcg0KDQogICAgUmVtb3ZlLU1vZHVsZSAtTmFtZSBQb3dlclNoZWxsR2V0IC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIC1Gb3JjZQ0KICAgIFJlbW92ZS1Nb2R1bGUgLU5hbWUgUGFja2FnZU1hbmFnZW1lbnQgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgLUZvcmNlDQogICAgSW1wb3J0LU1vZHVsZSAtRm9yY2UgLU5hbWUgUG93ZXJTaGVsbEdldA0KICAgIEltcG9ydC1Nb2R1bGUgLUZvcmNlIC1OYW1lIFBhY2thZ2VNYW5hZ2VtZW50DQoNCiAgICAkbnVsbCA9IEluc3RhbGwtV2luZG93c0ZlYXR1cmUgLU5hbWUgR1BNQw0KfQ0KDQpTYXZlLU1vZHVsZSAtTmFtZSBQU0RlcGVuZCAtUmVwb3NpdG9yeSAkcHNkZXBlbmRDb25maWcuUFNEZXBlbmRPcHRpb25zLlBhcmFtZXRlcnMuUmVwb3NpdG9yeSAtUGF0aCAkcHNkZXBlbmRDb25maWcuUFNEZXBlbmRPcHRpb25zLlRhcmdldCAtRm9yY2UNCkltcG9ydC1Nb2R1bGUgLU5hbWUgKEpvaW4tUGF0aCAtUGF0aCAkcHNkZXBlbmRDb25maWcuUFNEZXBlbmRPcHRpb25zLlRhcmdldCAtQ2hpbGRQYXRoIFBTRGVwZW5kXCpcUFNEZXBlbmQucHNkMSAtUmVzb2x2ZSkNCkludm9rZS1QU0RlcGVuZCAtUGF0aCAkRGVwZW5kZW5jeVBhdGggLUZvcmNlDQoBCRkAAAAJGgAAAAYbAAAAEXByZXJlcXVpc2l0ZXMucHMxBhwAAAAXYnVpbGRccHJlcmVxdWlzaXRlcy5wczEJBgAAAAkeAAAACR8AAAABDQAAAAsAAAAGIAAAAN8PcGFyYW0NCigNCiAgICBbc3RyaW5nXQ0KICAgICREZXBlbmRlbmN5UGF0aCA9IChSZXNvbHZlLVBhdGggIiRQU1NjcmlwdFJvb3RccmVxdWlyZWRNb2R1bGVzLnBzZDEiKS5QYXRoLA0KDQogICAgW3N0cmluZ10NCiAgICAkT3V0cHV0UGF0aCA9IChSZXNvbHZlLVBhdGggIiRQU1NjcmlwdFJvb3RcLi5cb3V0cHV0IikuUGF0aCwNCg0KICAgIFtzdHJpbmddDQogICAgJFNvdXJjZVBhdGggPSAiJFBTU2NyaXB0Um9vdFwuLlxjb25maWd1cmF0aW9uZGF0YSINCikNCg0KJHBzZGVwZW5kQ29uZmlnID0gSW1wb3J0LVBvd2VyU2hlbGxEYXRhRmlsZSAtUGF0aCAkRGVwZW5kZW5jeVBhdGgNCiRtb2RQYXRoID0gUmVzb2x2ZS1QYXRoIC1QYXRoICRwc2RlcGVuZENvbmZpZy5QU0RlcGVuZE9wdGlvbnMuVGFyZ2V0DQokbW9kT2xkID0gJGVudjpQU01vZHVsZVBhdGgNCiRwYXRoU2VwYXJhdG9yID0gW1N5c3RlbS5JTy5QYXRoXTo6UGF0aFNlcGFyYXRvcg0KJGVudjpQU01vZHVsZVBhdGggPSAiJG1vZFBhdGgkcGF0aFNlcGFyYXRvciRtb2RPbGQiDQokZGF0dW0gPSBOZXctRGF0dW1TdHJ1Y3R1cmUgLURlZmluaXRpb25GaWxlIChKb2luLVBhdGggJFNvdXJjZVBhdGggRGF0dW0ueW1sKQ0KW2hhc2h0YWJsZVtdXSAkcnNvcHMgPSBHZXQtRGF0dW1Sc29wICRkYXR1bSAoR2V0LURhdHVtTm9kZXNSZWN1cnNpdmUgLUFsbERhdHVtTm9kZXMgJERhdHVtLkFsbE5vZGVzKQ0KDQpmb3JlYWNoICgkcG9saWN5IGluIChHZXQtQ2hpbGRJdGVtIC1QYXRoIChKb2luLVBhdGggLVBhdGggJE91dHB1dFBhdGggLUNoaWxkUGF0aCBQb2xpY2llcykgLVJlY3Vyc2UgLUZpbHRlciAqLnhtbCkpDQp7DQogICAgJHNlYXJjaGVyID0gW2Fkc2lzZWFyY2hlcl06Om5ldygpDQogICAgJHNlYXJjaGVyLkZpbHRlciA9ICIoJihvYmplY3RDbGFzcz1ncm91cFBvbGljeUNvbnRhaW5lcikoZGlzcGxheU5hbWU9JCgkcG9saWN5LkJhc2VOYW1lKSkpIg0KICAgICRwb2xpY3lGb3VuZCA9ICRzZWFyY2hlci5GaW5kT25lKCkNCg0KICAgIGlmICgtbm90ICRwb2xpY3lGb3VuZCkNCiAgICB7DQogICAgICAgICRudWxsID0gTmV3LUdQTyAtTmFtZSAkcG9saWN5LkJhc2VOYW1lIC1Db21tZW50ICJBdXRvLXVwZGF0ZWQgYXBwbG9ja2VyIHBvbGljeSIgLURvbWFpbiAkcG9saWN5LkRpcmVjdG9yeS5OYW1lDQogICAgfQ0KDQogICAgJHJzb3AgPSAkcnNvcHMgfCBXaGVyZS1PYmplY3QgeyAkX1snUG9saWN5TmFtZSddIC1lcSAkcG9saWN5LkJhc2VOYW1lIH0NCiAgICBmb3JlYWNoICgkbGluayBpbiAkcnNvcC5MaW5rcykNCiAgICB7DQogICAgICAgICRwYXJhbSA9IEB7DQogICAgICAgICAgICBOYW1lICAgID0gJHJzb3AuUG9saWN5TmFtZQ0KICAgICAgICAgICAgVGFyZ2V0ICA9ICRsaW5rLk9yZ1VuaXREbg0KICAgICAgICAgICAgRG9tYWluICA9ICRwb2xpY3kuRGlyZWN0b3J5Lk5hbWUNCiAgICAgICAgICAgIENvbmZpcm0gPSAkZmFsc2UNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICgkcnNvcC5Db250YWluc0tleSgnRW5hYmxlZCcpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkcGFyYW1bJ0xpbmtFbmFibGVkJ10gPSAkbGluay5FbmFibGVkDQogICAgICAgIH0NCiAgICAgICAgaWYgKCRyc29wLkNvbnRhaW5zS2V5KCdFbmZvcmNlZCcpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkcGFyYW1bJ0VuZm9yY2VkJ10gPSAkbGluay5FbmZvcmNlZA0KICAgICAgICB9DQogICAgICAgIGlmICgkcnNvcC5Db250YWluc0tleSgnT3JkZXInKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHBhcmFtWydPcmRlciddID0gJGxpbmsuT3JkZXINCiAgICAgICAgfQ0KDQogICAgICAgIFNldC1HUExpbmsgQHBhcmFtDQogICAgfQ0KDQogICAgJHBvbGljeUZvdW5kID0gJHNlYXJjaGVyLkZpbmRPbmUoKQ0KDQogICAgU2V0LUFwcExvY2tlclBvbGljeSAtWG1sUG9saWN5ICRwb2xpY3kuRnVsbE5hbWUgLUxkYXAgJHBvbGljeUZvdW5kLlBhdGgNCn0NCg0KJGVudjpQU01vZHVsZVBhdGggPSAkbW9kT2xkDQoBCSEAAAAJIgAAAAYjAAAAC3B1Ymxpc2gucHMxBiQAAAARYnVpbGRccHVibGlzaC5wczEJBgAAAAkmAAAACScAAAABDgAAAAsAAAAGKAAAAKIEQHsNCiAgICBQU0RlcGVuZE9wdGlvbnMgICAgICAgPSBAew0KICAgICAgICBBZGRUb1BhdGggID0gJGZhbHNlDQogICAgICAgIFRhcmdldCAgICAgPSAnb3V0cHV0XFJlcXVpcmVkTW9kdWxlcycNCiAgICAgICAgUGFyYW1ldGVycyA9IEB7DQogICAgICAgICAgICBSZXBvc2l0b3J5ICAgICAgPSAnUFNHYWxsZXJ5Jw0KICAgICAgICAgICAgQWxsb3dQcmVSZWxlYXNlID0gJHRydWUNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgICdwb3dlcnNoZWxsLXlhbWwnICAgICA9ICcwLjQuNycNCiAgICBQU1NjcmlwdEFuYWx5emVyICAgICAgPSAnMS4yMS4wJw0KICAgIFBlc3RlciAgICAgICAgICAgICAgICA9ICc1LjQuMScNCiAgICAnU2FtcGxlci5Ec2NQaXBlbGluZScgPSAnMC4yLjAtcHJldmlldzAwMTUnICMgVW5mb3J0dW5hdGVseSBzdGlsbCBpbiBwcmV2aWV3DQogICAgRGF0dW0gICAgICAgICAgICAgICAgID0gJzAuNDAuMScNCiAgICAnRGF0dW0uSW52b2tlQ29tbWFuZCcgPSAnMC4zLjAnDQogICAgQXBwTG9ja2VyRm91bmRyeSAgICAgID0gJzEuMS41Jw0KfQ0KAQkpAAAACSoAAAAGKwAAABRyZXF1aXJlZE1vZHVsZXMucHNkMQYsAAAAGmJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxCQYAAAAJLgAAAAkvAAAAAQ8AAAALAAAABjAAAADvCFtDbWRsZXRCaW5kaW5nKCldDQpwYXJhbQ0KKA0KICAgIFtzdHJpbmddDQogICAgJERlcGVuZGVuY3lQYXRoID0gKFJlc29sdmUtUGF0aCAiJFBTU2NyaXB0Um9vdFxyZXF1aXJlZE1vZHVsZXMucHNkMSIpLlBhdGgsDQoNCiAgICBbc3RyaW5nXQ0KICAgICRQcm9qZWN0Um9vdCA9IChSZXNvbHZlLVBhdGggIiRQU1NjcmlwdFJvb3RcLi4iKS5QYXRoLA0KDQogICAgW1ZhbGlkYXRlU2V0KCdVbml0JywgJ0NvbmZpZ3VyYXRpb25EYXRhJywgJ0ludGVncmF0aW9uJyldDQogICAgW3N0cmluZ10NCiAgICAkVGVzdFR5cGUNCikNCg0KJHBzZGVwZW5kQ29uZmlnID0gSW1wb3J0LVBvd2VyU2hlbGxEYXRhRmlsZSAtUGF0aCAkRGVwZW5kZW5jeVBhdGgNCiRtb2RQYXRoID0gUmVzb2x2ZS1QYXRoIC1QYXRoICRwc2RlcGVuZENvbmZpZy5QU0RlcGVuZE9wdGlvbnMuVGFyZ2V0DQokbW9kT2xkID0gJGVudjpQU01vZHVsZVBhdGgNCiRwYXRoU2VwYXJhdG9yID0gW1N5c3RlbS5JTy5QYXRoXTo6UGF0aFNlcGFyYXRvcg0KJGVudjpQU01vZHVsZVBhdGggPSAiJG1vZFBhdGgkcGF0aFNlcGFyYXRvciRtb2RPbGQiDQoNCkltcG9ydC1Nb2R1bGUgUGVzdGVyIC1Gb3JjZSAtRXJyb3JBY3Rpb24gU3RvcCAtTWluaW11bVZlcnNpb24gNS4wLjANCg0KJGdsb2JhbDp0ZXN0cm9vdCA9IEpvaW4tUGF0aCAkUHJvamVjdFJvb3QgdGVzdHMNCiRwbyA9IFtQZXN0ZXJDb25maWd1cmF0aW9uXTo6TmV3KCkNCiRwby5SdW4uUGF0aCA9IEpvaW4tUGF0aCAkZ2xvYmFsOnRlc3Ryb290ICRUZXN0VHlwZQ0KJHBvLlJ1bi5QYXNzVGhydSA9ICR0cnVlDQokcG8uT3V0cHV0LlZlcmJvc2l0eSA9ICdEZXRhaWxlZCcNCiRwby5UZXN0UmVzdWx0LkVuYWJsZWQgPSAkdHJ1ZQ0KJHBvLlRlc3RSZXN1bHQuT3V0cHV0UGF0aCA9IEpvaW4tUGF0aCAkZ2xvYmFsOnRlc3Ryb290ICd0ZXN0cmVzdWx0cy54bWwnDQokcG8uVGVzdFJlc3VsdC5PdXRwdXRGb3JtYXQgPSAnTlVuaXQyLjUnDQoNCiRyZXN1bHQgPSBJbnZva2UtUGVzdGVyIC1Db25maWd1cmF0aW9uICRwbw0KJGVudjpQU01vZHVsZVBhdGggPSAkbW9kT2xkDQoNCmlmICgkcmVzdWx0LkZhaWxlZENvdW50IC1ndCAwKSB7DQogICAgdGhyb3cgIlBlc3RlciB0ZXN0cyBmYWlsZWQiDQp9DQoBCTEAAAAJMgAAAAYzAAAADHZhbGlkYXRlLnBzMQY0AAAAEmJ1aWxkXHZhbGlkYXRlLnBzMQkGAAAACTYAAAAJNwAAAAERAAAABwAAAAkKAAAAAAAAAAAAAAABEgAAAAcAAAAJCgAAAAAAAAAAAAAAARYAAAAHAAAACQoAAAAAAAAAAAAAAAEXAAAABwAAAAkKAAAAAAAAAAAAAAABGQAAAAcAAAAJCgAAAAAAAAAAAAAAARoAAAAHAAAACQoAAAAAAAAAAAAAAAEeAAAABwAAAAkKAAAAAAAAAAAAAAABHwAAAAcAAAAJCgAAAAAAAAAAAAAAASEAAAAHAAAACQoAAAAAAAAAAAAAAAEiAAAABwAAAAkKAAAAAAAAAAAAAAABJgAAAAcAAAAJCgAAAAAAAAAAAAAAAScAAAAHAAAACQoAAAAAAAAAAAAAAAEpAAAABwAAAAkKAAAAAAAAAAAAAAABKgAAAAcAAAAJCgAAAAAAAAAAAAAAAS4AAAAHAAAACQoAAAAAAAAAAAAAAAEvAAAABwAAAAkKAAAAAAAAAAAAAAABMQAAAAcAAAAJCgAAAAAAAAAAAAAAATIAAAAHAAAACQoAAAAAAAAAAAAAAAE2AAAABwAAAAkKAAAAAAAAAAAAAAABNwAAAAcAAAAJCgAAAAAAAAAAAAAACw==</BA> </MS> </Obj> <Obj RefId="15"> <TNRef RefId="6" /> <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString> <Props> <Obj N="Children" RefId="16"> <TNRef RefId="5" /> <LST> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> <S>PSModuleDevelopment.Template.TemplateItemFile</S> <S>PSModuleDevelopment.Template.TemplateItemFile</S> </LST> </Obj> <S N="Name">configurationdata</S> <S N="RelativePath">configurationdata</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="17"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="18"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAAEWNvbmZpZ3VyYXRpb25kYXRhBgUAAAARY29uZmlndXJhdGlvbmRhdGEGBgAAAALDvgkHAAAACQgAAAAEAwAAAJ4BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2VbXQIAAAAICAkJAAAABgAAAAYAAAAEBwAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkKAAAAAAAAAAAAAAABCAAAAAcAAAAJCgAAAAAAAAAAAAAABwkAAAAAAQAAAAgAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJCwAAAAkMAAAACQ0AAAAJDgAAAAkPAAAACRAAAAANAhEKAAAAAAAAAAELAAAAAQAAAAkRAAAABhIAAAAEQXBwcwYTAAAAFmNvbmZpZ3VyYXRpb25kYXRhXEFwcHMJBgAAAAkVAAAACRYAAAABDAAAAAEAAAAJFwAAAAYYAAAAB0RvbWFpbnMGGQAAABljb25maWd1cmF0aW9uZGF0YVxEb21haW5zCQYAAAAJGwAAAAkcAAAAAQ0AAAABAAAACR0AAAAGHgAAAAhHZW5lcmljcwYfAAAAGmNvbmZpZ3VyYXRpb25kYXRhXEdlbmVyaWNzCQYAAAAJIQAAAAkiAAAAAQ4AAAABAAAACSMAAAAGJAAAAAhQb2xpY2llcwYlAAAAGmNvbmZpZ3VyYXRpb25kYXRhXFBvbGljaWVzCQYAAAAJJwAAAAkoAAAABQ8AAAAtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1GaWxlCQAAAAVWYWx1ZQlQbGFpblRleHQUQ29udGVudFBhcmFtZXRlckZsYXQWQ29udGVudFBhcmFtZXRlclNjcmlwdAROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQBAAMDAQEBAwMBf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABikAAADLEFJlc29sdXRpb25QcmVjZWRlbmNlOg0KICAtIEFsbE5vZGVzXCQoJE5vZGUuRG9tYWluKVwkKCROb2RlLlBvbGljeU5hbWUpDQogIC0gJ1t4PSB7ICROb2RlLkFwcHMgfCBGb3JlYWNoLU9iamVjdCB7IkFwcHNcJF8ifSB9ID1dJw0KICAtIERvbWFpbnNcJCgkTm9kZS5Eb21haW4pDQogIC0gR2VuZXJpY3NcV2luZG93cw0KDQpEYXR1bUhhbmRsZXJzVGhyb3dPbkVycm9yOiB0cnVlDQpEYXR1bUhhbmRsZXJzOg0KICBEYXR1bS5JbnZva2VDb21tYW5kOjpJbnZva2VDb21tYW5kOg0KICAgIFNraXBEdXJpbmdMb2FkOiB0cnVlDQoNCmRlZmF1bHRfbG9va3VwX29wdGlvbnM6IE1vc3RTcGVjaWZpYw0KDQpsb29rdXBfb3B0aW9uczoNCiAgQ29uZmlndXJhdGlvbnM6DQogICAgbWVyZ2VfYmFzZXR5cGVfYXJyYXk6IFVuaXF1ZQ0KDQogIFJ1bGVDb2xsZWN0aW9uczoNCiAgICBtZXJnZV9oYXNoOiBkZWVwDQogIFJ1bGVDb2xsZWN0aW9uc1xFeGU6DQogICAgbWVyZ2VfaGFzaDogZGVlcA0KICBSdWxlQ29sbGVjdGlvbnNcRXhlXFJ1bGVzOg0KICAgIG1lcmdlX2hhc2hfYXJyYXk6IFVuaXF1ZUtleVZhbFR1cGxlcw0KICAgIG1lcmdlX29wdGlvbnM6DQogICAgICB0dXBsZV9rZXlzOg0KICAgICAgICAtIE5hbWUNCiAgUnVsZUNvbGxlY3Rpb25zXEV4ZVxSdWxlc1xFeGNlcHRpb25zOg0KICAgIG1lcmdlX2Jhc2V0eXBlX2FycmF5OiBVbmlxdWUNCiAgUnVsZUNvbGxlY3Rpb25zXE1zaToNCiAgICBtZXJnZV9oYXNoOiBkZWVwDQogIFJ1bGVDb2xsZWN0aW9uc1xNc2lcUnVsZXM6DQogICAgbWVyZ2VfaGFzaF9hcnJheTogVW5pcXVlS2V5VmFsVHVwbGVzDQogICAgbWVyZ2Vfb3B0aW9uczoNCiAgICAgIHR1cGxlX2tleXM6DQogICAgICAgIC0gTmFtZQ0KICBSdWxlQ29sbGVjdGlvbnNcTXNpXFJ1bGVzXEV4Y2VwdGlvbnM6DQogICAgbWVyZ2VfYmFzZXR5cGVfYXJyYXk6IFVuaXF1ZQ0KICBSdWxlQ29sbGVjdGlvbnNcRGxsOg0KICAgIG1lcmdlX2hhc2g6IGRlZXANCiAgUnVsZUNvbGxlY3Rpb25zXERsbFxSdWxlczoNCiAgICBtZXJnZV9oYXNoX2FycmF5OiBVbmlxdWVLZXlWYWxUdXBsZXMNCiAgICBtZXJnZV9vcHRpb25zOg0KICAgICAgdHVwbGVfa2V5czoNCiAgICAgICAgLSBOYW1lDQogIFJ1bGVDb2xsZWN0aW9uc1xEbGxcUnVsZXNcRXhjZXB0aW9uczoNCiAgICBtZXJnZV9iYXNldHlwZV9hcnJheTogVW5pcXVlDQogIFJ1bGVDb2xsZWN0aW9uc1xTY3JpcHQ6DQogICAgbWVyZ2VfaGFzaDogZGVlcA0KICBSdWxlQ29sbGVjdGlvbnNcU2NyaXB0XFJ1bGVzOg0KICAgIG1lcmdlX2hhc2hfYXJyYXk6IFVuaXF1ZUtleVZhbFR1cGxlcw0KICAgIG1lcmdlX29wdGlvbnM6DQogICAgICB0dXBsZV9rZXlzOg0KICAgICAgICAtIE5hbWUNCiAgUnVsZUNvbGxlY3Rpb25zXFNjcmlwdFxSdWxlc1xFeGNlcHRpb25zOg0KICAgIG1lcmdlX2Jhc2V0eXBlX2FycmF5OiBVbmlxdWUNCiAgUnVsZUNvbGxlY3Rpb25zXEFwcHg6DQogICAgbWVyZ2VfaGFzaDogZGVlcA0KICBSdWxlQ29sbGVjdGlvbnNcQXBweFxSdWxlczoNCiAgICBtZXJnZV9oYXNoX2FycmF5OiBVbmlxdWVLZXlWYWxUdXBsZXMNCiAgICBtZXJnZV9vcHRpb25zOg0KICAgICAgdHVwbGVfa2V5czoNCiAgICAgICAgLSBOYW1lDQogIFJ1bGVDb2xsZWN0aW9uc1xBcHB4XFJ1bGVzXEV4Y2VwdGlvbnM6DQogICAgbWVyZ2VfYmFzZXR5cGVfYXJyYXk6IFVuaXF1ZQ0KDQpEYXR1bVN0cnVjdHVyZToNCiAgLSBTdG9yZU5hbWU6IEFsbE5vZGVzDQogICAgU3RvcmVQcm92aWRlcjogRGF0dW06OkZpbGUNCiAgICBTdG9yZU9wdGlvbnM6DQogICAgICBQYXRoOiAiLi9Qb2xpY2llcyINCiAgLSBTdG9yZU5hbWU6IEdlbmVyaWNzDQogICAgU3RvcmVQcm92aWRlcjogRGF0dW06OkZpbGUNCiAgICBTdG9yZU9wdGlvbnM6DQogICAgICBQYXRoOiAiLi9HZW5lcmljcyINCiAgLSBTdG9yZU5hbWU6IERvbWFpbnMNCiAgICBTdG9yZVByb3ZpZGVyOiBEYXR1bTo6RmlsZQ0KICAgIFN0b3JlT3B0aW9uczoNCiAgICAgIFBhdGg6ICIuL0RvbWFpbnMiDQogIC0gU3RvcmVOYW1lOiBBcHBzDQogICAgU3RvcmVQcm92aWRlcjogRGF0dW06OkZpbGUNCiAgICBTdG9yZU9wdGlvbnM6DQogICAgICBQYXRoOiAiLi9BcHBzIg0KAQkqAAAACSsAAAAGLAAAAAlEYXR1bS55bWwGLQAAABtjb25maWd1cmF0aW9uZGF0YVxEYXR1bS55bWwJBgAAAAkvAAAACTAAAAABEAAAAA8AAAAGMQAAAK8NIyBDb25maWd1cmF0aW9uIERhdGENCg0KVGhlIGBjb25maWd1cmF0aW9uZGF0YWAgZGlyZWN0b3J5IGNvbnRhaW5zIHlvdXIgb3ZlcmFsbCBtZXJnaW5nIGNvbmZpZ3VyYXRpb24gYERhdHVtLnltbGAgYXMNCmluZGl2aWR1YWwgZm9sZGVycyBkZXNjcmliZWQgaW4geW91ciBtZXJnaW5nIGNvbmZpZ3VyYXRpb24ncyBSZXNvbHV0aW9uIFByZWNlZGVuY2UuIFRoaXMNCnRlbXBsYXRlIGFzc3VtZXM6DQoNCmBgYHlhbWwNClJlc29sdXRpb25QcmVjZWRlbmNlOg0KICAtIEFsbE5vZGVzXCQoJE5vZGUuUG9saWN5TmFtZSkNCiAgLSAnW3g9IHsgJE5vZGUuQXBwcyB8IEZvcmVhY2gtT2JqZWN0IHsiQXBwc1wkXyJ9IH0gPV0nDQogIC0gRG9tYWluc1wkKCROb2RlLkRvbWFpbikNCiAgLSBHZW5lcmljc1xXaW5kb3dzDQpgYGANCg0KR2VuZXJpYyBXaW5kb3dzIHNldHRpbmdzIGFyZSBhcHBsaWVkIGZpcnN0LiBUaG9zZSBhcmUgbWVyZ2VkIHdpdGggYWxsIGRvbWFpbi1zcGVjaWZpYw0Kc2V0dGluZ3MsIHRha2luZyBpbnRvIGNvbnNpZGVyYXRpb24gd2hpY2ggZG9tYWluIHRoZSBwb2xpY3kgaXMgYXNzaWduZWQgdG8uIFRob3NlIGFyZSB0aGVuDQptZXJnZWQgd2l0aCBhbGwgQXBwLXNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIHRoYXQgYSBwb2xpY3kgc2hvdWxkIGNvbnRhaW4sIGFuZCBsYXN0bHkNCnRoZSBwb2xpY3kgaXRzZWxmIGFkZHMgaXRzIG93biBzcGVjaWZpYyBzZXR0aW5ncyBsaWtlIHRoZSBwb2xpY3kgbmFtZS4NCg0KIyMgQXBwcw0KDQpUaGUgaWRlYSBpcyB0byBkZXNjcmliZSBlYWNoIGFwcCBpbiBhIHdheSB0aGF0IEFwcExvY2tlciBrbm93cyBhYm91dCBhbGwgcmVxdWlyZWQNCmJpbmFyaWVzLiBFeGFtaW5lIHRoZSBzYW1wbGUgQXBwIGBHaXRgIHRvIGxlYXJuIG1vcmUuDQoNCiMjIERvbWFpbnMNCg0KVGhlIGlkZWEgaXMgdG8gZGVzY3JpYmUgY29udGVudCB0aGF0IGlzIHJlbGV2YW50IGZvciBlYWNoIGRvbWFpbi4NCg0KIyMgUG9saWNpZXMNCg0KR3JvdXBlZCBieSB0aGUgZG9tYWluLCBlYWNoIHBvbGljeSBzaG91bGQgYmUgYSBzaW5nbGUgeW1sIGZpbGUgdGhhdCBjb250YWlucw0KdGhlIE5hbWUsIERvbWFpbiwgb3B0aW9uYWwgR1BMaW5rcyBhbmQgc3Vic2NyaWJlZCBBcHBzIGZvciB0aGF0IHBvbGljeS4NCg0KVGhyb3VnaCB0aGUgdXNlIG9mIERhdHVtLkludm9rZUNvbW1hbmQsIHdlIGNhbiBydW4gc2NyaXB0cyBkdXJpbmcgdGhlIGJ1aWxkDQpwcm9jZXNzLCBvciByYXRoZXI6IFdoZW4gZ2VuZXJhdGluZyB0aGUgUlNPUCBmb3IgdGhlIGJ1aWxkLg0KDQpgYGB5YW1sDQpQb2xpY3lOYW1lOiAiW3g9eyAkTm9kZS5OYW1lIH09XSINCkRvbWFpbjogIlt4PXsgJEZpbGUuRGlyZWN0b3J5LkJhc2VOYW1lIH0gPV0iDQpMaW5rczoNCiAgLSBPcmdVbml0RG46ICJPVT1Qcm9kLERDPWNvbnRvc28sREM9Y29tIg0KICAgIExpbmtPcmRlcjogMQ0KICAgIEVuZm9yY2VkOiB5ZXMgIyB1bnNwZWNpZmllZCwgbm8NCiAgICBFbmFibGVkOiBubyAjIHVuc3BlY2lmaWVkLCB5ZXMNCkFwcHM6DQogIC0gR2l0DQpgYGANCg0KIyMgR2VuZXJpY3MNCg0KQ3VycmVudGx5IG9ubHkgb25lIGdlbmVyaWMgY29uZmlndXJhdGlvbiBpcyByZWNvbW1lbmRlZDogV2luZG93cy4gVGhpcyBzYW1wbGUgYWxyZWFkeQ0KY29udGFpbnMgdGhlIHJlY29tbWVuZGVkIGNvbnRlbnQgYW5kIGRpc2FibGVzIFBvd2VyU2hlbGwgMi4NCgEJMgAAAAkzAAAABjQAAAAJcmVhZG1lLm1kBjUAAAAbY29uZmlndXJhdGlvbmRhdGFccmVhZG1lLm1kCQYAAAAJNwAAAAk4AAAAAREAAAADAAAACTkAAAABAAAAAQAAAAEVAAAABwAAAAkKAAAAAAAAAAAAAAABFgAAAAcAAAAJCgAAAAAAAAAAAAAAARcAAAADAAAACTsAAAABAAAAAQAAAAEbAAAABwAAAAkKAAAAAAAAAAAAAAABHAAAAAcAAAAJCgAAAAAAAAAAAAAAAR0AAAADAAAACT0AAAABAAAAAQAAAAEhAAAABwAAAAkKAAAAAAAAAAAAAAABIgAAAAcAAAAJCgAAAAAAAAAAAAAAASMAAAADAAAACT8AAAABAAAAAQAAAAEnAAAABwAAAAkKAAAAAAAAAAAAAAABKAAAAAcAAAAJCgAAAAAAAAAAAAAAASoAAAAHAAAACQoAAAAAAAAAAAAAAAErAAAABwAAAAkKAAAAAAAAAAAAAAABLwAAAAcAAAAJCgAAAAAAAAAAAAAAATAAAAAHAAAACQoAAAAAAAAAAAAAAAEyAAAABwAAAAkKAAAAAAAAAAAAAAABMwAAAAcAAAAJCgAAAAAAAAAAAAAAATcAAAAHAAAACQoAAAAAAAAAAAAAAAE4AAAABwAAAAkKAAAAAAAAAAAAAAAHOQAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlBAAAADQMHOwAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlCAAAADQMHPQAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlDAAAADQMHPwAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlEAAAADQMBQQAAAA8AAAAGRQAAAJgIQ29uZmlndXJhdGlvbnM6DQogIC0gUnVsZUNvbGxlY3Rpb25zDQoNClJ1bGVDb2xsZWN0aW9uczoNCiAgRXhlOg0KICAgIEVuZm9yY2VtZW50TW9kZTogQXVkaXRPbmx5DQogICAgUnVsZXM6DQogICAgICAtIE5hbWU6IEFsbG93IGdpdC5leGUNCiAgICAgICAgRGVzY3JpcHRpb246IEFsbG93IGFsbCB1c2VycyB0byBydW4gZ2l0LmV4ZQ0KICAgICAgICBQYXRoOiAnJVBST0dSQU1GSUxFUyVcZ2l0XGNtZFxnaXQuZXhlJw0KICAgICAgICBVc2VyT3JHcm91cFNpZDogUy0xLTEtMA0KICAgICAgICBBY3Rpb246IEFsbG93DQogICAgICAtIE5hbWU6IEFsbG93IHNwZWNpZmljIGhhc2hlZCBnaXQNCiAgICAgICAgRGVzY3JpcHRpb246IEFsbG93IGFsbCB1c2VycyB0byBydW4gZ2l0LmV4ZSB0aGF0IGhhcyBhIHNwZWNpZmljIGhhc2gNCiAgICAgICAgVHlwZTogU0hBMjU2DQogICAgICAgIERhdGE6ICIweEM2NTlGNDcxMkI2MEMyNUU4NkE5MjdFMEMwMTIxQzMwMTA3NUYyRDA3NTQ1MDYxNDBGOEI5ODEyQjVGREJBM0MiDQogICAgICAgIFNvdXJjZUZpbGVOYW1lOiBnaXQuZXhlDQogICAgICAgIFNvdXJjZUZpbGVMZW5ndGg6IDQ1MTA0DQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIEFjdGlvbjogQWxsb3cNCiAgICAgIC0gTmFtZTogQWxsb3cgc2lnbmVkIGdpdA0KICAgICAgICBEZXNjcmlwdGlvbjogQWxsb3cgYWxsIHVzZXJzIHRvIHJ1biBnaXQuZXhlIHRoYXQgd2FzIHNpZ25lZCBieSBhIHNwZWNpZmljIHB1Ymxpc2hlcg0KICAgICAgICBQdWJsaXNoZXJOYW1lOiBPPUpPSEFOTkVTIFNDSElOREVMSU4sIFM9Tk9SRFJIRUlOLVdFU1RGQUxFTiwgQz1ERQ0KICAgICAgICBQcm9kdWN0TmFtZTogR0lUDQogICAgICAgIEJpbmFyeU5hbWU6IEdJVC5FWEUNCiAgICAgICAgQmluYXJ5VmVyc2lvblJhbmdlOg0KICAgICAgICAgIExvd1NlY3Rpb246IDIuNDAuMS4xDQogICAgICAgICAgSGlnaFNlY3Rpb246IDIuNDAuMS4xDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIEFjdGlvbjogQWxsb3cNCgEJRgAAAAlHAAAABkgAAAAHR2l0LnltbAZJAAAAHmNvbmZpZ3VyYXRpb25kYXRhXEFwcHNcR2l0LnltbAkGAAAACUsAAAAJTAAAAAFCAAAADwAAAAZNAAAApg5Db25maWd1cmF0aW9uczoNCiAgLSBSdWxlQ29sbGVjdGlvbnMNCg0KUnVsZUNvbGxlY3Rpb25zOg0KICBNc2k6DQogICAgRW5mb3JjZW1lbnRNb2RlOiBBdWRpdE9ubHkNCiAgICBSdWxlczoNCiAgICAgIC0gTmFtZTogQWxsb3cgRExMcyAoQWRtaW4pDQogICAgICAgIERlc2NyaXB0aW9uOiBBbGxvd3MgbWVtYmVycyBvZiB0aGUgbG9jYWwgQWRtaW5pc3RyYXRvcnMgZ3JvdXAgdG8gbG9hZCBhbGwgRExMcy4NCiAgICAgICAgUGF0aDogIioiDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtNS0zMi01NDQNCiAgICAgICAgQWN0aW9uOiBBbGxvdw0KICBEbGw6DQogICAgRW5mb3JjZW1lbnRNb2RlOiBBdWRpdE9ubHkNCiAgICBSdWxlczoNCiAgICAgIC0gTmFtZTogQWxsb3cgbXNpIGluIENDTUNhY2hlIChFdmVyeW9uZSkNCiAgICAgICAgRGVzY3JpcHRpb246IEFsbG93cyBldmVyeW9uZSB0byBydW4gaW5zdGFsbGVyIGZpbGVzIGluIHRoZSBTQ0NNIGNhY2hlLg0KICAgICAgICBQYXRoOiAnJVdJTkRJUiVcY2NtY2FjaGVcKicNCiAgICAgICAgVXNlck9yR3JvdXBTaWQ6IFMtMS0xLTANCiAgICAgICAgQWN0aW9uOiBBbGxvdw0KICAgICAgLSBOYW1lOiBBbGxvdyBETExzIChFdmVyeW9uZSBXaW5kaXIpDQogICAgICAgIERlc2NyaXB0aW9uOiBBbGxvd3MgRXZlcnlvbmUgdG8gbG9hZCBETExzIGxvY2F0ZWQgaW4gdGhlIFdpbmRvd3MgZm9sZGVyLg0KICAgICAgICBQYXRoOiAnJVdJTkRJUiVcKicNCiAgICAgICAgVXNlck9yR3JvdXBTaWQ6IFMtMS0xLTANCiAgICAgICAgQWN0aW9uOiBBbGxvdw0KICAgICAgICBFeGNlcHRpb25zOg0KICAgICAgICAgIC0gJyVXSU5ESVIlXFNvbWVGb2xkZXInDQogICAgICAgICAgLSAnJVdJTkRJUiVcQW5vdGhlckZvbGRlcicNCiAgICAgIC0gTmFtZTogQWxsb3cgRExMcyAoRXZlcnlvbmUgV2luZGlyKQ0KICAgICAgICBEZXNjcmlwdGlvbjogQWxsb3dzIEV2ZXJ5b25lIHRvIGxvYWQgRExMcyBsb2NhdGVkIGluIHRoZSBQcm9ncmFtIEZpbGVzIGZvbGRlci4NCiAgICAgICAgUGF0aDogJyVQUk9HUkFNRklMRVMlXConDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIEFjdGlvbjogQWxsb3cNCiAgICAgIC0gTmFtZTogUHJvaGliaXQgUG93ZXJTaGVsbCAyDQogICAgICAgIERlc2NyaXB0aW9uOiBFeHBsaWNpdGx5IGRlbnkgc2lnbmVkIERMTHMgbmVlZGVkIGZvciBQb3dlclNoZWxsIHYyDQogICAgICAgIEFjdGlvbjogRGVueQ0KICAgICAgICBVc2VyT3JHcm91cFNpZDogUy0xLTEtMA0KICAgICAgICBQdWJsaXNoZXJOYW1lOiBPPU1JQ1JPU09GVCBDT1JQT1JBVElPTiwgTD1SRURNT05ELCBTPVdBU0hJTkdUT04sIEM9VVMNCiAgICAgICAgUHJvZHVjdE5hbWU6IE1JQ1JPU09GVCAoUikgV0lORE9XUyAoUikgT1BFUkFUSU5HIFNZU1RFTQ0KICAgICAgICBCaW5hcnlOYW1lOiBTWVNURU0uTUFOQUdFTUVOVC5BVVRPTUFUSU9OLkRMTA0KICAgICAgICBCaW5hcnlWZXJzaW9uUmFuZ2U6DQogICAgICAgICAgTG93U2VjdGlvbjogIioiDQogICAgICAgICAgSGlnaFNlY3Rpb246IDkuOS45LjkNCiAgICAgIC0gTmFtZTogUHJvaGliaXQgUG93ZXJTaGVsbCAyIHVuc2lnbmVkIEpJVA0KICAgICAgICBEZXNjcmlwdGlvbjogRXhwbGljaXRseSBkZW55IHNpZ25lZCBETExzIG5lZWRlZCBmb3IgUG93ZXJTaGVsbCB2Mg0KICAgICAgICBBY3Rpb246IERlbnkNCiAgICAgICAgVXNlck9yR3JvdXBTaWQ6IFMtMS0xLTANCiAgICAgICAgUGF0aDogJyVXSU5ESVIlXGFzc2VtYmx5XE5hdGl2ZUltYWdlc192Mi4wLjUwNzI3XzMyXFN5c3RlbS5NYW5hZ2VtZW50LkEjXConDQoBCU4AAAAJTwAAAAZQAAAAEsO+ZG9tYWluZnFkbsO+LnltbAZRAAAALGNvbmZpZ3VyYXRpb25kYXRhXERvbWFpbnNcw75kb21haW5mcWRuw74ueW1sCQYAAAAJUwAAAAlUAAAAAUMAAAAPAAAABlUAAAC8BkNvbmZpZ3VyYXRpb25zOg0KICAtIFJ1bGVDb2xsZWN0aW9ucw0KDQpSdWxlQ29sbGVjdGlvbnM6DQogIERsbDoNCiAgICBFbmZvcmNlbWVudE1vZGU6IEF1ZGl0T25seQ0KICAgIFJ1bGVzOg0KICAgICAgLSBOYW1lOiBQcm9oaWJpdCBQb3dlclNoZWxsIDINCiAgICAgICAgRGVzY3JpcHRpb246IEV4cGxpY2l0bHkgZGVueSBzaWduZWQgRExMcyBuZWVkZWQgZm9yIFBvd2VyU2hlbGwgdjINCiAgICAgICAgQWN0aW9uOiBEZW55DQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIFB1Ymxpc2hlck5hbWU6IE89TUlDUk9TT0ZUIENPUlBPUkFUSU9OLCBMPVJFRE1PTkQsIFM9V0FTSElOR1RPTiwgQz1VUw0KICAgICAgICBQcm9kdWN0TmFtZTogTUlDUk9TT0ZUIChSKSBXSU5ET1dTIChSKSBPUEVSQVRJTkcgU1lTVEVNDQogICAgICAgIEJpbmFyeU5hbWU6IFNZU1RFTS5NQU5BR0VNRU5ULkFVVE9NQVRJT04uRExMDQogICAgICAgIEJpbmFyeVZlcnNpb25SYW5nZToNCiAgICAgICAgICBMb3dTZWN0aW9uOiAiKiINCiAgICAgICAgICBIaWdoU2VjdGlvbjogOS45LjkuOQ0KICAgICAgLSBOYW1lOiBQcm9oaWJpdCBQb3dlclNoZWxsIDIgdW5zaWduZWQgSklUDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIERlc2NyaXB0aW9uOiBFeHBsaWNpdGx5IGRlbnkgc2lnbmVkIERMTHMgbmVlZGVkIGZvciBQb3dlclNoZWxsIHYyDQogICAgICAgIEFjdGlvbjogRGVueQ0KICAgICAgICBQYXRoOiAnJVdJTkRJUiVcYXNzZW1ibHlcTmF0aXZlSW1hZ2VzX3YyLjAuNTA3MjdfMzJcU3lzdGVtLk1hbmFnZW1lbnQuQSNcKicNCgEJVgAAAAlXAAAABlgAAAALV2luZG93cy55bWwGWQAAACZjb25maWd1cmF0aW9uZGF0YVxHZW5lcmljc1xXaW5kb3dzLnltbAkGAAAACVsAAAAJXAAAAAFEAAAAAQAAAAldAAAABl4AAAAOw75kb21haW5mcWRuw74GXwAAACljb25maWd1cmF0aW9uZGF0YVxQb2xpY2llc1zDvmRvbWFpbmZxZG7DvgkGAAAACWEAAAAJYgAAAAFGAAAABwAAAAkKAAAAAAAAAAAAAAABRwAAAAcAAAAJCgAAAAAAAAAAAAAAAUsAAAAHAAAACQoAAAAAAAAAAAAAAAFMAAAABwAAAAkKAAAAAAAAAAAAAAABTgAAAAcAAAAJCgAAAAAAAAAAAAAAAU8AAAAHAAAACQoAAAAAAAAAAAAAAAFTAAAABwAAAAlkAAAAAQAAAAEAAAABVAAAAAcAAAAJCgAAAAAAAAAAAAAAAVYAAAAHAAAACQoAAAAAAAAAAAAAAAFXAAAABwAAAAkKAAAAAAAAAAAAAAABWwAAAAcAAAAJCgAAAAAAAAAAAAAAAVwAAAAHAAAACQoAAAAAAAAAAAAAAAFdAAAAAwAAAAlmAAAAAQAAAAEAAAABYQAAAAcAAAAJZwAAAAEAAAABAAAAAWIAAAAHAAAACQoAAAAAAAAAAAAAABFkAAAABAAAAAZpAAAACmRvbWFpbmZxZG4NAwdmAAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACWoAAAANAxFnAAAABAAAAAZrAAAACmRvbWFpbmZxZG4NAwFqAAAADwAAAAZsAAAAgANQb2xpY3lOYW1lOiAiW3g9eyAkTm9kZS5OYW1lIH09XSINCkRvbWFpbjogIlt4PXsgJEZpbGUuRGlyZWN0b3J5LkJhc2VOYW1lIH0gPV0iDQpMaW5rczoNCiAgLSBPcmdVbml0RG46ICJPVT1Qcm9kLERDPWNvbnRvc28sREM9Y29tIg0KICAgIExpbmtPcmRlcjogMQ0KICAgIEVuZm9yY2VkOiB5ZXMgIyB1bnNwZWNpZmllZCwgbm8NCiAgICBFbmFibGVkOiBubyAjIHVuc3BlY2lmaWVkLCB5ZXMNCiAgLSBPcmdVbml0RG46ICJPVT1UZXN0LERDPWNvbnRvc28sREM9Y29tIg0KICAgIExpbmtPcmRlcjogMQ0KICAgIEVuZm9yY2VkOiB5ZXMgIyB1bnNwZWNpZmllZCwgbm8NCiAgICBFbmFibGVkOiB5ZXMgIyB1bnNwZWNpZmllZCwgbm8NCkFwcHM6DQogIC0gR2l0DQogIC0gT2JzDQoBCW0AAAAJbgAAAAZvAAAACFBvbDEueW1sBnAAAAAyY29uZmlndXJhdGlvbmRhdGFcUG9saWNpZXNcw75kb21haW5mcWRuw75cUG9sMS55bWwJBgAAAAlyAAAACXMAAAABbQAAAAcAAAAJCgAAAAAAAAAAAAAAAW4AAAAHAAAACQoAAAAAAAAAAAAAAAFyAAAABwAAAAkKAAAAAAAAAAAAAAABcwAAAAcAAAAJCgAAAAAAAAAAAAAACw==</BA> </MS> </Obj> <Obj RefId="19"> <TNRef RefId="6" /> <ToString>PSModuleDevelopment.Template.TemplateItemFolder</ToString> <Props> <Obj N="Children" RefId="20"> <TNRef RefId="5" /> <LST> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> <S>PSModuleDevelopment.Template.TemplateItemFolder</S> </LST> </Obj> <S N="Name">tests</S> <S N="RelativePath">tests</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="21"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="22"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRm9sZGVyBgAAAAhDaGlsZHJlbgROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQDAQEBAwOeAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAJAwAAAAYEAAAABXRlc3RzBgUAAAAFdGVzdHMGBgAAAALDvgkHAAAACQgAAAAEAwAAAJ4BU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2VbXQIAAAAICAkJAAAAAwAAAAMAAAAEBwAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkKAAAAAAAAAAAAAAABCAAAAAcAAAAJCgAAAAAAAAAAAAAABwkAAAAAAQAAAAQAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJCwAAAAkMAAAACQ0AAAAKEQoAAAAAAAAAAQsAAAABAAAACQ4AAAAGDwAAABFDb25maWd1cmF0aW9uRGF0YQYQAAAAF3Rlc3RzXENvbmZpZ3VyYXRpb25EYXRhCQYAAAAJEgAAAAkTAAAAAQwAAAABAAAACRQAAAAGFQAAAAtJbnRlZ3JhdGlvbgYWAAAAEXRlc3RzXEludGVncmF0aW9uCQYAAAAJGAAAAAkZAAAAAQ0AAAABAAAACRoAAAAGGwAAAARVbml0BhwAAAAKdGVzdHNcVW5pdAkGAAAACR4AAAAJHwAAAAEOAAAAAwAAAAkgAAAAAwAAAAMAAAABEgAAAAcAAAAJCgAAAAAAAAAAAAAAARMAAAAHAAAACQoAAAAAAAAAAAAAAAEUAAAAAwAAAAkiAAAAAgAAAAIAAAABGAAAAAcAAAAJCgAAAAAAAAAAAAAAARkAAAAHAAAACQoAAAAAAAAAAAAAAAEaAAAAAwAAAAkkAAAAAQAAAAEAAAABHgAAAAcAAAAJCgAAAAAAAAAAAAAAAR8AAAAHAAAACQoAAAAAAAAAAAAAAAcgAAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACSYAAAAJJwAAAAkoAAAACgciAAAAAAEAAAAEAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACSkAAAAJKgAAAA0CByQAAAAAAQAAAAQAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJKwAAAA0DBSYAAAAtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1GaWxlCQAAAAVWYWx1ZQlQbGFpblRleHQUQ29udGVudFBhcmFtZXRlckZsYXQWQ29udGVudFBhcmFtZXRlclNjcmlwdAROYW1lDFJlbGF0aXZlUGF0aApJZGVudGlmaWVyF0ZpbGVTeXN0ZW1QYXJhbWV0ZXJGbGF0GUZpbGVTeXN0ZW1QYXJhbWV0ZXJTY3JpcHQBAAMDAQEBAwMBf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABiwAAACtB0JlZm9yZURpc2NvdmVyeSB7DQogICAgJHlhbWxGaWxlcyA9IEdldC1DaGlsZEl0ZW0gLVBhdGggIiRnbG9iYWw6dGVzdHJvb3RcLi5cY29uZmlndXJhdGlvbmRhdGEiIC1GaWx0ZXIgKi55bSpsIC1SZWN1cnNlIC1GaWxlIHwgRm9yZWFjaC1PYmplY3QgeyANCiAgICAgICAgQHsNCiAgICAgICAgICAgIEZ1bGxOYW1lID0gJF8uRnVsbE5hbWUNCiAgICAgICAgICAgIEJhc2VOYW1lID0gJF8uQmFzZU5hbWUNCiAgICAgICAgICAgIE5hbWUgICAgID0gJF8uTmFtZSANCiAgICAgICAgfSANCiAgICB9DQp9DQoNCkRlc2NyaWJlICJZQU1MIGZpbGUgaW50ZWdyaXR5IiB7DQogICAgSXQgIjxOYW1lPiBDb252ZXJ0IGZyb20gWUFNTCB3aXRob3V0IGVycm9ycyIgLVRlc3RDYXNlcyAkeWFtbEZpbGVzIHsNCiAgICAgICAgeyBHZXQtQ29udGVudCAtUmF3IC1QYXRoICRGdWxsTmFtZSB8IENvbnZlcnRGcm9tLVlhbWwgLUVycm9yQWN0aW9uIFN0b3AgfSB8IFNob3VsZCAtTm90IC1UaHJvdw0KICAgIH0NCg0KICAgIEl0ICI8TmFtZT4gQ29udGFpbnMgb25seSB2YWxpZCBydWxlIHR5cGVzIiAtVGVzdENhc2VzICR5YW1sRmlsZXMgew0KICAgICAgICAkdHlwZXMgPSAnRGxsJywgJ0V4ZScsICdNc2knLCAnU2NyaXB0JywgJ0FwcHgnDQoNCiAgICAgICAgJGNvbnRlbnQgPSBHZXQtQ29udGVudCAtUmF3IC1QYXRoICRGdWxsTmFtZSB8IENvbnZlcnRGcm9tLVlhbWwgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUNCg0KICAgICAgICBpZiAoLW5vdCAkY29udGVudC5Db250YWluc0tleSgnUnVsZUNvbGxlY3Rpb25zJykpDQogICAgICAgIHsNCiAgICAgICAgICAgIHJldHVybg0KICAgICAgICB9DQoNCiAgICAgICAgJGNvbnRlbnQuUnVsZUNvbGxlY3Rpb25zLktleXMgfCBGb3JlYWNoLU9iamVjdCB7ICRfIHwgU2hvdWxkIC1CZUluICR0eXBlcyB9DQogICAgfQ0KfQ0KAQktAAAACS4AAAAGLwAAABdGaWxlSW50ZWdyaXR5LnRlc3RzLnBzMQYwAAAAL3Rlc3RzXENvbmZpZ3VyYXRpb25EYXRhXEZpbGVJbnRlZ3JpdHkudGVzdHMucHMxCQYAAAAJMgAAAAkzAAAAAScAAAAmAAAABjQAAADvASMgQ29uZmlndXJhdGlvbiBEYXRhIFRlc3RzDQoNClRoZXNlIHRlc3RzIGFyZSBhIGJpdCBzcGVjaWFsLCBhcyB0aGV5IGRvbid0IHJlYWxseSBmaXQgaW50byB1bml0IG9yIGludGVncmF0aW9uLiBUaGVzZQ0KdGVzdHMgYXJlIHN1cHBvc2VkIHRvIGVuc3VyZSB0aGUgdmFsaWRpdGl0eSBvZiB5b3VyIGNvbmZpZ3VyYXRpb24gZGF0YSB0aGF0IGluIHRoZQ0KZW5kIG1ha2UgdXAgeW91ciBwb2xpY3kgZGVmaW5pdGlvbnMuAQk1AAAACTYAAAAGNwAAAAlyZWFkbWUubWQGOAAAACF0ZXN0c1xDb25maWd1cmF0aW9uRGF0YVxyZWFkbWUubWQJBgAAAAk6AAAACTsAAAABKAAAACYAAAAGPAAAAPMDQmVmb3JlRGlzY292ZXJ5IHsNCiAgICBpZiAoR2V0LURhdHVtUnNvcENhY2hlKQ0KICAgIHsNCiAgICAgICAgQ2xlYXItRGF0dW1Sc29wQ2FjaGUNCiAgICB9DQoNCiAgICAkZGF0dW0gPSBOZXctRGF0dW1TdHJ1Y3R1cmUgLURlZmluaXRpb25GaWxlIChKb2luLVBhdGggIiRnbG9iYWw6dGVzdHJvb3RcLi5cY29uZmlndXJhdGlvbmRhdGEiIERhdHVtLnltbCkNCiAgICBbaGFzaHRhYmxlW11dICRyc29wcyA9IChHZXQtRGF0dW1Sc29wICRkYXR1bSAoR2V0LURhdHVtTm9kZXNSZWN1cnNpdmUgLUFsbERhdHVtTm9kZXMgJERhdHVtLkFsbE5vZGVzKSkuUnVsZUNvbGxlY3Rpb25zLlZhbHVlcy5SdWxlcw0KfQ0KDQpEZXNjcmliZSAiUlNPUCBjb3JyZWN0bmVzcyIgew0KICAgIEl0ICI8TmFtZT4gUG9saWN5IHJ1bGUgaGFzIFNJRCIgLVRlc3RDYXNlcyAkcnNvcHMgew0KICAgICAgICAkVXNlck9yR3JvdXBTaWQgfCBTaG91bGQgLU5vdCAtQmVOdWxsT3JFbXB0eQ0KICAgIH0NCn0NCgEJPQAAAAk+AAAABj8AAAAOUnNvcC50ZXN0cy5wczEGQAAAACZ0ZXN0c1xDb25maWd1cmF0aW9uRGF0YVxSc29wLnRlc3RzLnBzMQkGAAAACUIAAAAJQwAAAAEpAAAAJgAAAAZEAAAA4ghCZWZvcmVEaXNjb3Zlcnkgew0KICAgIGlmIChHZXQtRGF0dW1Sc29wQ2FjaGUpDQogICAgew0KICAgICAgICBDbGVhci1EYXR1bVJzb3BDYWNoZQ0KICAgIH0NCg0KICAgICRwb2xpY2llcyA9IGZvcmVhY2ggKCRmaWxlIGluIChHZXQtQ2hpbGRJdGVtIC1QYXRoIChSZXNvbHZlLVBhdGggIiRnbG9iYWw6dGVzdHJvb3RcLi5cY29uZmlndXJhdGlvbmRhdGFcUG9saWNpZXMiKS5QYXRoIC1SZWN1cnNlIC1GaWx0ZXIgKi55Km1sIC1GaWxlKSkNCiAgICB7DQogICAgICAgIEB7DQogICAgICAgICAgICBOYW1lICAgPSAkZmlsZS5CYXNlTmFtZQ0KICAgICAgICAgICAgRG9tYWluID0gJGZpbGUuRGlyZWN0b3J5Lk5hbWUNCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KRGVzY3JpYmUgIlBvbGljeSBleGlzdHMiIHsNCiAgICBJdCAiPE5hbWU+IFBvbGljeSBleGlzdHMgaW4gPERvbWFpbj4iIC1UZXN0Q2FzZXMgJHBvbGljaWVzIHsNCiAgICAgICAgJGdwbyA9IEdldC1HUE8gLU5hbWUgJE5hbWUgLURvbWFpbiAkRG9tYWluDQogICAgICAgICRjdHggPSBbU3lzdGVtLkRpcmVjdG9yeVNlcnZpY2VzLkFjdGl2ZURpcmVjdG9yeS5EaXJlY3RvcnlDb250ZXh0XTo6bmV3KCdEb21haW4nLCAkRG9tYWluKQ0KICAgICAgICAkZG9tYWluID0gW1N5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnkuRG9tYWluXTo6R2V0RG9tYWluKCRjdHgpDQogICAgICAgICRkb21haW5EbiA9ICRkb21haW4uR2V0RGlyZWN0b3J5RW50cnkoKS5EaXN0aW5ndWlzaGVkTmFtZQ0KICAgICAgICAkYXBwTG9ja2VyR3BvID0gdHJ5DQogICAgICAgIHsNCiAgICAgICAgICAgIEdldC1BcHBMb2NrZXJQb2xpY3kgLURvbWFpbiAtTGRhcCAiTERBUDovL0NOPXskKCRncG8uSWQpfSxDTj1Qb2xpY2llcyxDTj1TeXN0ZW0sJGRvbWFpbkRuIiAtRXJyb3JBY3Rpb24gU3RvcA0KICAgICAgICB9DQogICAgICAgIGNhdGNoIHt9ICMgU3VwcHJlc3MgZXhjZXB0aW9uIGZyb20gbWlzYmVoYXZpbmcgY21kbGV0IHRoYXQgZG9lcyBub3QgbGlrZSBTaWxlbnRseUNvbnRpbnVlDQogICAgICAgICRhcHBMb2NrZXJHcG8uUnVsZUNvbGxlY3Rpb25zIHwgU2hvdWxkIC1Ob3QgLUJlTnVsbE9yRW1wdHkNCiAgICB9DQp9DQoBCUUAAAAJRgAAAAZHAAAAE0dwb0V4aXN0cy50ZXN0cy5wczEGSAAAACV0ZXN0c1xJbnRlZ3JhdGlvblxHcG9FeGlzdHMudGVzdHMucHMxCQYAAAAJSgAAAAlLAAAAASoAAAAmAAAABkwAAACmASMgSW50ZWdyYXRpb24gYW5kIFFBIHRlc3RzDQoNClB1dCB5b3VyIHRlc3Qgc2NyaXB0cyBoZXJlIHRoYXQgdGVzdCBpbiBhIHRlc3QgZW52aXJvbm1lbnQuIEZvciBleGFtcGxlLA0KdGhpcyBjb3VsZCBpbmNsdWRlIGxpbmtpbmcgYW5kIHZhbGlkYXRpbmcgeW91ciBuZXcgcG9saWNpZXMuDQoBCU0AAAAJTgAAAAZPAAAACXJlYWRtZS5tZAZQAAAAG3Rlc3RzXEludGVncmF0aW9uXHJlYWRtZS5tZAkGAAAACVIAAAAJUwAAAAErAAAAJgAAAAZUAAAAMCMgVW5pdCB0ZXN0cw0KDQpUZXN0IHlvdXIgZnVuY3Rpb25hbCB1bml0cyBoZXJlIQEJVQAAAAlWAAAABlcAAAAJcmVhZG1lLm1kBlgAAAAUdGVzdHNcVW5pdFxyZWFkbWUubWQJBgAAAAlaAAAACVsAAAABLQAAAAcAAAAJCgAAAAAAAAAAAAAAAS4AAAAHAAAACQoAAAAAAAAAAAAAAAEyAAAABwAAAAkKAAAAAAAAAAAAAAABMwAAAAcAAAAJCgAAAAAAAAAAAAAAATUAAAAHAAAACQoAAAAAAAAAAAAAAAE2AAAABwAAAAkKAAAAAAAAAAAAAAABOgAAAAcAAAAJCgAAAAAAAAAAAAAAATsAAAAHAAAACQoAAAAAAAAAAAAAAAE9AAAABwAAAAkKAAAAAAAAAAAAAAABPgAAAAcAAAAJCgAAAAAAAAAAAAAAAUIAAAAHAAAACQoAAAAAAAAAAAAAAAFDAAAABwAAAAkKAAAAAAAAAAAAAAABRQAAAAcAAAAJCgAAAAAAAAAAAAAAAUYAAAAHAAAACQoAAAAAAAAAAAAAAAFKAAAABwAAAAkKAAAAAAAAAAAAAAABSwAAAAcAAAAJCgAAAAAAAAAAAAAAAU0AAAAHAAAACQoAAAAAAAAAAAAAAAFOAAAABwAAAAkKAAAAAAAAAAAAAAABUgAAAAcAAAAJCgAAAAAAAAAAAAAAAVMAAAAHAAAACQoAAAAAAAAAAAAAAAFVAAAABwAAAAkKAAAAAAAAAAAAAAABVgAAAAcAAAAJCgAAAAAAAAAAAAAAAVoAAAAHAAAACQoAAAAAAAAAAAAAAAFbAAAABwAAAAkKAAAAAAAAAAAAAAAL</BA> </MS> </Obj> <Obj RefId="23"> <TN RefId="7"> <T>PSModuleDevelopment.Template.TemplateItemFile</T> <T>PSModuleDevelopment.Template.TemplateItemBase</T> <T>System.Object</T> </TN> <ToString>PSModuleDevelopment.Template.TemplateItemFile</ToString> <Props> <S N="Value">output_x000D__x000A_testresults.xml</S> <B N="PlainText">true</B> <Obj N="ContentParameterFlat" RefId="24"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="ContentParameterScript" RefId="25"> <TNRef RefId="2" /> <LST /> </Obj> <S N="Name">.gitignore</S> <S N="RelativePath">.gitignore</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="26"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="27"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAALVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRmlsZQkAAAAFVmFsdWUJUGxhaW5UZXh0FENvbnRlbnRQYXJhbWV0ZXJGbGF0FkNvbnRlbnRQYXJhbWV0ZXJTY3JpcHQETmFtZQxSZWxhdGl2ZVBhdGgKSWRlbnRpZmllchdGaWxlU3lzdGVtUGFyYW1ldGVyRmxhdBlGaWxlU3lzdGVtUGFyYW1ldGVyU2NyaXB0AQADAwEBAQMDAX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYDAAAAF291dHB1dA0KdGVzdHJlc3VsdHMueG1sAQkEAAAACQUAAAAGBgAAAAouZ2l0aWdub3JlBgcAAAAKLmdpdGlnbm9yZQYIAAAAAsO+CQkAAAAJCgAAAAQEAAAAf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgYAAAgICQsAAAAAAAAAAAAAAAEFAAAABAAAAAkLAAAAAAAAAAAAAAABCQAAAAQAAAAJCwAAAAAAAAAAAAAAAQoAAAAEAAAACQsAAAAAAAAAAAAAABELAAAAAAAAAAs=</BA> </MS> </Obj> <Obj RefId="28"> <TNRef RefId="7" /> <ToString>PSModuleDevelopment.Template.TemplateItemFile</ToString> <Props> <S N="Value">trigger:_x000D__x000A_ branches:_x000D__x000A_ include:_x000D__x000A_ - main_x000D__x000A__x000D__x000A_jobs:_x000D__x000A_ - job: Build_x000D__x000A_ displayName: 'Build AppLocker Artifacts'_x000D__x000A_ pool:_x000D__x000A_ name: Default_x000D__x000A_ steps:_x000D__x000A_ - task: PowerShell@2_x000D__x000A_ name: prereq_x000D__x000A_ displayName: 'Download prerequisites'_x000D__x000A_ inputs:_x000D__x000A_ filePath: '.\build\prerequisites.ps1'_x000D__x000A_ arguments: '-DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1)'_x000D__x000A_ - task: PowerShell@2_x000D__x000A_ name: validateyaml_x000D__x000A_ displayName: Validate Configuration Data_x000D__x000A_ inputs:_x000D__x000A_ filePath: '.\build\validate.ps1'_x000D__x000A_ arguments: '-TestType ConfigurationData -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -ProjectRoot $(Build.SourcesDirectory)'_x000D__x000A_ - task: PowerShell@2_x000D__x000A_ name: buildpolicy_x000D__x000A_ displayName: Build policy XML_x000D__x000A_ inputs:_x000D__x000A_ filePath: '.\build\build.ps1'_x000D__x000A_ arguments: '-IncludeRsop -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -SourcePath (Join-Path $(Build.SourcesDirectory) configurationdata) -OutputPath (Join-Path $(Build.SourcesDirectory) output)'_x000D__x000A_ - task: PublishBuildArtifacts@1_x000D__x000A_ displayName: 'Publish Policy XML Files'_x000D__x000A_ inputs:_x000D__x000A_ PathtoPublish: 'output/Policies'_x000D__x000A_ ArtifactName: Policies_x000D__x000A_ - task: PublishBuildArtifacts@1_x000D__x000A_ displayName: 'Publish Policy RSOP Files'_x000D__x000A_ inputs:_x000D__x000A_ PathtoPublish: 'output/Rsop'_x000D__x000A_ ArtifactName: Rsop_x000D__x000A_ - task: PublishTestResults@2_x000D__x000A_ displayName: 'Publish Configuration Data Test Results'_x000D__x000A_ condition: succeededOrFailed()_x000D__x000A_ inputs:_x000D__x000A_ testResultsFormat: 'NUnit'_x000D__x000A_ testResultsFiles: 'tests/testresults.xml'_x000D__x000A_ mergeTestResults: true_x000D__x000A_ failTaskOnFailedTests: true_x000D__x000A_ testRunTitle: 'Configuration Data Tests'_x000D__x000A_ - deployment: Prod_x000D__x000A_ dependsOn: Build_x000D__x000A_ displayName: Prod Deployment_x000D__x000A_ environment: Prod_x000D__x000A_ pool:_x000D__x000A_ name: Default_x000D__x000A_ strategy:_x000D__x000A_ runOnce:_x000D__x000A_ deploy:_x000D__x000A_ steps:_x000D__x000A_ - task: DownloadBuildArtifacts@0_x000D__x000A_ displayName: 'Download Build Artifact: Rsop'_x000D__x000A_ inputs:_x000D__x000A_ buildType: 'current'_x000D__x000A_ artifactName: Rsop_x000D__x000A_ downloadPath: $(Build.SourcesDirectory)_x000D__x000A_ - task: DownloadBuildArtifacts@0_x000D__x000A_ displayName: 'Download Build Artifact: Policies'_x000D__x000A_ inputs:_x000D__x000A_ buildType: 'current'_x000D__x000A_ artifactName: Policies_x000D__x000A_ downloadPath: $(Build.SourcesDirectory)_x000D__x000A_ - task: PowerShell@2_x000D__x000A_ name: publishpolicies_x000D__x000A_ displayName: Publish policies_x000D__x000A_ inputs:_x000D__x000A_ filePath: '.\build\publish.ps1'_x000D__x000A_ arguments: '-DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -SourcePath (Join-Path $(Build.SourcesDirectory) configurationdata) -OutputPath (Join-Path $(Build.SourcesDirectory) output)'_x000D__x000A_ - task: PowerShell@2_x000D__x000A_ name: validateintegration_x000D__x000A_ displayName: Validate Integration_x000D__x000A_ inputs:_x000D__x000A_ filePath: '.\build\validate.ps1'_x000D__x000A_ arguments: '-TestType Integration -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -ProjectRoot $(Build.SourcesDirectory)'_x000D__x000A_ - task: PublishTestResults@2_x000D__x000A_ displayName: 'Publish Integration Test Results'_x000D__x000A_ condition: succeededOrFailed()_x000D__x000A_ inputs:_x000D__x000A_ testResultsFormat: 'NUnit'_x000D__x000A_ testResultsFiles: 'tests/testresults.xml'_x000D__x000A_ mergeTestResults: true_x000D__x000A_ failTaskOnFailedTests: true_x000D__x000A_ testRunTitle: 'Integration Tests'_x000D__x000A_</S> <B N="PlainText">true</B> <Obj N="ContentParameterFlat" RefId="29"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="ContentParameterScript" RefId="30"> <TNRef RefId="2" /> <LST /> </Obj> <S N="Name">azurepipelines.yml</S> <S N="RelativePath">azurepipelines.yml</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="31"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="32"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAALVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRmlsZQkAAAAFVmFsdWUJUGxhaW5UZXh0FENvbnRlbnRQYXJhbWV0ZXJGbGF0FkNvbnRlbnRQYXJhbWV0ZXJTY3JpcHQETmFtZQxSZWxhdGl2ZVBhdGgKSWRlbnRpZmllchdGaWxlU3lzdGVtUGFyYW1ldGVyRmxhdBlGaWxlU3lzdGVtUGFyYW1ldGVyU2NyaXB0AQADAwEBAQMDAX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYDAAAAyR10cmlnZ2VyOg0KICBicmFuY2hlczoNCiAgICBpbmNsdWRlOg0KICAgIC0gbWFpbg0KDQpqb2JzOg0KICAtIGpvYjogQnVpbGQNCiAgICBkaXNwbGF5TmFtZTogJ0J1aWxkIEFwcExvY2tlciBBcnRpZmFjdHMnDQogICAgcG9vbDoNCiAgICAgIG5hbWU6IERlZmF1bHQNCiAgICBzdGVwczoNCiAgICAgIC0gdGFzazogUG93ZXJTaGVsbEAyDQogICAgICAgIG5hbWU6IHByZXJlcQ0KICAgICAgICBkaXNwbGF5TmFtZTogJ0Rvd25sb2FkIHByZXJlcXVpc2l0ZXMnDQogICAgICAgIGlucHV0czoNCiAgICAgICAgICBmaWxlUGF0aDogJy5cYnVpbGRccHJlcmVxdWlzaXRlcy5wczEnDQogICAgICAgICAgYXJndW1lbnRzOiAnLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSknDQogICAgICAtIHRhc2s6IFBvd2VyU2hlbGxAMg0KICAgICAgICBuYW1lOiB2YWxpZGF0ZXlhbWwNCiAgICAgICAgZGlzcGxheU5hbWU6IFZhbGlkYXRlIENvbmZpZ3VyYXRpb24gRGF0YQ0KICAgICAgICBpbnB1dHM6DQogICAgICAgICAgZmlsZVBhdGg6ICcuXGJ1aWxkXHZhbGlkYXRlLnBzMScNCiAgICAgICAgICBhcmd1bWVudHM6ICctVGVzdFR5cGUgQ29uZmlndXJhdGlvbkRhdGEgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVByb2plY3RSb290ICQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSknDQogICAgICAtIHRhc2s6IFBvd2VyU2hlbGxAMg0KICAgICAgICBuYW1lOiBidWlsZHBvbGljeQ0KICAgICAgICBkaXNwbGF5TmFtZTogQnVpbGQgcG9saWN5IFhNTA0KICAgICAgICBpbnB1dHM6DQogICAgICAgICAgZmlsZVBhdGg6ICcuXGJ1aWxkXGJ1aWxkLnBzMScNCiAgICAgICAgICBhcmd1bWVudHM6ICctSW5jbHVkZVJzb3AgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVNvdXJjZVBhdGggKEpvaW4tUGF0aCAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpIGNvbmZpZ3VyYXRpb25kYXRhKSAtT3V0cHV0UGF0aCAoSm9pbi1QYXRoICQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSkgb3V0cHV0KScNCiAgICAgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDENCiAgICAgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFBvbGljeSBYTUwgRmlsZXMnDQogICAgICAgIGlucHV0czoNCiAgICAgICAgICBQYXRodG9QdWJsaXNoOiAnb3V0cHV0L1BvbGljaWVzJw0KICAgICAgICAgIEFydGlmYWN0TmFtZTogUG9saWNpZXMNCiAgICAgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDENCiAgICAgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFBvbGljeSBSU09QIEZpbGVzJw0KICAgICAgICBpbnB1dHM6DQogICAgICAgICAgUGF0aHRvUHVibGlzaDogJ291dHB1dC9Sc29wJw0KICAgICAgICAgIEFydGlmYWN0TmFtZTogUnNvcA0KICAgICAgLSB0YXNrOiBQdWJsaXNoVGVzdFJlc3VsdHNAMg0KICAgICAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggQ29uZmlndXJhdGlvbiBEYXRhIFRlc3QgUmVzdWx0cycNCiAgICAgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpDQogICAgICAgIGlucHV0czoNCiAgICAgICAgICAgIHRlc3RSZXN1bHRzRm9ybWF0OiAnTlVuaXQnDQogICAgICAgICAgICB0ZXN0UmVzdWx0c0ZpbGVzOiAndGVzdHMvdGVzdHJlc3VsdHMueG1sJw0KICAgICAgICAgICAgbWVyZ2VUZXN0UmVzdWx0czogdHJ1ZQ0KICAgICAgICAgICAgZmFpbFRhc2tPbkZhaWxlZFRlc3RzOiB0cnVlDQogICAgICAgICAgICB0ZXN0UnVuVGl0bGU6ICdDb25maWd1cmF0aW9uIERhdGEgVGVzdHMnDQogIC0gZGVwbG95bWVudDogUHJvZA0KICAgIGRlcGVuZHNPbjogQnVpbGQNCiAgICBkaXNwbGF5TmFtZTogUHJvZCBEZXBsb3ltZW50DQogICAgZW52aXJvbm1lbnQ6IFByb2QNCiAgICBwb29sOg0KICAgICAgbmFtZTogRGVmYXVsdA0KICAgIHN0cmF0ZWd5Og0KICAgICAgcnVuT25jZToNCiAgICAgICAgZGVwbG95Og0KICAgICAgICAgIHN0ZXBzOg0KICAgICAgICAgIC0gdGFzazogRG93bmxvYWRCdWlsZEFydGlmYWN0c0AwDQogICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0Rvd25sb2FkIEJ1aWxkIEFydGlmYWN0OiBSc29wJw0KICAgICAgICAgICAgaW5wdXRzOg0KICAgICAgICAgICAgICBidWlsZFR5cGU6ICdjdXJyZW50Jw0KICAgICAgICAgICAgICBhcnRpZmFjdE5hbWU6IFJzb3ANCiAgICAgICAgICAgICAgZG93bmxvYWRQYXRoOiAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpDQogICAgICAgICAgLSB0YXNrOiBEb3dubG9hZEJ1aWxkQXJ0aWZhY3RzQDANCiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRG93bmxvYWQgQnVpbGQgQXJ0aWZhY3Q6IFBvbGljaWVzJw0KICAgICAgICAgICAgaW5wdXRzOg0KICAgICAgICAgICAgICBidWlsZFR5cGU6ICdjdXJyZW50Jw0KICAgICAgICAgICAgICBhcnRpZmFjdE5hbWU6IFBvbGljaWVzDQogICAgICAgICAgICAgIGRvd25sb2FkUGF0aDogJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KQ0KICAgICAgICAgIC0gdGFzazogUG93ZXJTaGVsbEAyDQogICAgICAgICAgICBuYW1lOiBwdWJsaXNocG9saWNpZXMNCiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBQdWJsaXNoIHBvbGljaWVzDQogICAgICAgICAgICBpbnB1dHM6DQogICAgICAgICAgICAgIGZpbGVQYXRoOiAnLlxidWlsZFxwdWJsaXNoLnBzMScNCiAgICAgICAgICAgICAgYXJndW1lbnRzOiAnLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVNvdXJjZVBhdGggKEpvaW4tUGF0aCAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpIGNvbmZpZ3VyYXRpb25kYXRhKSAtT3V0cHV0UGF0aCAoSm9pbi1QYXRoICQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSkgb3V0cHV0KScNCiAgICAgICAgICAtIHRhc2s6IFBvd2VyU2hlbGxAMg0KICAgICAgICAgICAgbmFtZTogdmFsaWRhdGVpbnRlZ3JhdGlvbg0KICAgICAgICAgICAgZGlzcGxheU5hbWU6IFZhbGlkYXRlIEludGVncmF0aW9uDQogICAgICAgICAgICBpbnB1dHM6DQogICAgICAgICAgICAgIGZpbGVQYXRoOiAnLlxidWlsZFx2YWxpZGF0ZS5wczEnDQogICAgICAgICAgICAgIGFyZ3VtZW50czogJy1UZXN0VHlwZSBJbnRlZ3JhdGlvbiAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKSAtUHJvamVjdFJvb3QgJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KScNCiAgICAgICAgICAtIHRhc2s6IFB1Ymxpc2hUZXN0UmVzdWx0c0AyDQogICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggSW50ZWdyYXRpb24gVGVzdCBSZXN1bHRzJw0KICAgICAgICAgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpDQogICAgICAgICAgICBpbnB1dHM6DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdHNGb3JtYXQ6ICdOVW5pdCcNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0c0ZpbGVzOiAndGVzdHMvdGVzdHJlc3VsdHMueG1sJw0KICAgICAgICAgICAgICAgIG1lcmdlVGVzdFJlc3VsdHM6IHRydWUNCiAgICAgICAgICAgICAgICBmYWlsVGFza09uRmFpbGVkVGVzdHM6IHRydWUNCiAgICAgICAgICAgICAgICB0ZXN0UnVuVGl0bGU6ICdJbnRlZ3JhdGlvbiBUZXN0cycNCgEJBAAAAAkFAAAABgYAAAASYXp1cmVwaXBlbGluZXMueW1sBgcAAAASYXp1cmVwaXBlbGluZXMueW1sBggAAAACw74JCQAAAAkKAAAABAQAAAB/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgJCwAAAAAAAAAAAAAAAQUAAAAEAAAACQsAAAAAAAAAAAAAAAEJAAAABAAAAAkLAAAAAAAAAAAAAAABCgAAAAQAAAAJCwAAAAAAAAAAAAAAEQsAAAAAAAAACw==</BA> </MS> </Obj> <Obj RefId="33"> <TNRef RefId="7" /> <ToString>PSModuleDevelopment.Template.TemplateItemFile</ToString> <Props> <S N="Value"># þnameþ_x000D__x000A__x000D__x000A_Add your project description here. Configuration data can be generated using_x000D__x000A_the build dependency `AppLockerFoundry`._x000D__x000A__x000D__x000A_```powershell_x000D__x000A_Get-ChildItem -Path "C:\Program Files" -Recurse -Filter *.exe | Get-AlfYamlFileInfo_x000D__x000A_```_x000D__x000A__x000D__x000A_## Build and release workflow_x000D__x000A__x000D__x000A_The integrated build workflows for GitHub and Azure DevOps (Server) can be_x000D__x000A_used out-of-the-box, nearly. If you want to publish your policies in a domain_x000D__x000A_environment, you will ned to run your build worker with an account_x000D__x000A_that is capable of updating the required policy objects. This is_x000D__x000A_due to constraints with the AppLocker cmdlets and their missing capability to specify_x000D__x000A_alternative credentials._x000D__x000A__x000D__x000A_The ideal workflow should you need or want to build it your self would look like this:_x000D__x000A__x000D__x000A_1. Ensure prerequisites `.\build\prerequisites.ps1`_x000D__x000A_1. Validate Configuration Data: `.\build\validate.ps1 -TestType ConfigurationData`_x000D__x000A_1. Build policies and optional RSOP from configuration data: `.\build\build.ps1 -IncludeRsop`_x000D__x000A_1. Validate Integration into environment: `.\build\validate.ps1 -TestType Integration`_x000D__x000A_1. Publish: `.\build\publish.ps1`_x000D__x000A__x000D__x000A_## Advanced setup_x000D__x000A__x000D__x000A_Most CI tools support a concept like Environments to which you can attach certain_x000D__x000A_gates like a manual approval or a scheduled release in a specific time frame. Play_x000D__x000A_around with this a little bit to further improve your AppLocker pipeline._x000D__x000A_</S> <B N="PlainText">true</B> <Obj N="ContentParameterFlat" RefId="34"> <TNRef RefId="2" /> <LST> <S>name</S> </LST> </Obj> <Obj N="ContentParameterScript" RefId="35"> <TNRef RefId="2" /> <LST /> </Obj> <S N="Name">readme.md</S> <S N="RelativePath">readme.md</S> <S N="Identifier">þ</S> <Obj N="FileSystemParameterFlat" RefId="36"> <TNRef RefId="2" /> <LST /> </Obj> <Obj N="FileSystemParameterScript" RefId="37"> <TNRef RefId="2" /> <LST /> </Obj> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAALVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRmlsZQkAAAAFVmFsdWUJUGxhaW5UZXh0FENvbnRlbnRQYXJhbWV0ZXJGbGF0FkNvbnRlbnRQYXJhbWV0ZXJTY3JpcHQETmFtZQxSZWxhdGl2ZVBhdGgKSWRlbnRpZmllchdGaWxlU3lzdGVtUGFyYW1ldGVyRmxhdBlGaWxlU3lzdGVtUGFyYW1ldGVyU2NyaXB0AQADAwEBAQMDAX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYDAAAA7wojIMO+bmFtZcO+DQoNCkFkZCB5b3VyIHByb2plY3QgZGVzY3JpcHRpb24gaGVyZS4gQ29uZmlndXJhdGlvbiBkYXRhIGNhbiBiZSBnZW5lcmF0ZWQgdXNpbmcNCnRoZSBidWlsZCBkZXBlbmRlbmN5IGBBcHBMb2NrZXJGb3VuZHJ5YC4NCg0KYGBgcG93ZXJzaGVsbA0KR2V0LUNoaWxkSXRlbSAtUGF0aCAiQzpcUHJvZ3JhbSBGaWxlcyIgLVJlY3Vyc2UgLUZpbHRlciAqLmV4ZSB8IEdldC1BbGZZYW1sRmlsZUluZm8NCmBgYA0KDQojIyBCdWlsZCBhbmQgcmVsZWFzZSB3b3JrZmxvdw0KDQpUaGUgaW50ZWdyYXRlZCBidWlsZCB3b3JrZmxvd3MgZm9yIEdpdEh1YiBhbmQgQXp1cmUgRGV2T3BzIChTZXJ2ZXIpIGNhbiBiZQ0KdXNlZCBvdXQtb2YtdGhlLWJveCwgbmVhcmx5LiBJZiB5b3Ugd2FudCB0byBwdWJsaXNoIHlvdXIgcG9saWNpZXMgaW4gYSBkb21haW4NCmVudmlyb25tZW50LCB5b3Ugd2lsbCBuZWQgdG8gcnVuIHlvdXIgYnVpbGQgd29ya2VyIHdpdGggYW4gYWNjb3VudA0KdGhhdCBpcyBjYXBhYmxlIG9mIHVwZGF0aW5nIHRoZSByZXF1aXJlZCBwb2xpY3kgb2JqZWN0cy4gVGhpcyBpcw0KZHVlIHRvIGNvbnN0cmFpbnRzIHdpdGggdGhlIEFwcExvY2tlciBjbWRsZXRzIGFuZCB0aGVpciBtaXNzaW5nIGNhcGFiaWxpdHkgdG8gc3BlY2lmeQ0KYWx0ZXJuYXRpdmUgY3JlZGVudGlhbHMuDQoNClRoZSBpZGVhbCB3b3JrZmxvdyBzaG91bGQgeW91IG5lZWQgb3Igd2FudCB0byBidWlsZCBpdCB5b3VyIHNlbGYgd291bGQgbG9vayBsaWtlIHRoaXM6DQoNCjEuIEVuc3VyZSBwcmVyZXF1aXNpdGVzIGAuXGJ1aWxkXHByZXJlcXVpc2l0ZXMucHMxYA0KMS4gVmFsaWRhdGUgQ29uZmlndXJhdGlvbiBEYXRhOiBgLlxidWlsZFx2YWxpZGF0ZS5wczEgLVRlc3RUeXBlIENvbmZpZ3VyYXRpb25EYXRhYA0KMS4gQnVpbGQgcG9saWNpZXMgYW5kIG9wdGlvbmFsIFJTT1AgZnJvbSBjb25maWd1cmF0aW9uIGRhdGE6IGAuXGJ1aWxkXGJ1aWxkLnBzMSAtSW5jbHVkZVJzb3BgDQoxLiBWYWxpZGF0ZSBJbnRlZ3JhdGlvbiBpbnRvIGVudmlyb25tZW50OiBgLlxidWlsZFx2YWxpZGF0ZS5wczEgLVRlc3RUeXBlIEludGVncmF0aW9uYA0KMS4gUHVibGlzaDogIGAuXGJ1aWxkXHB1Ymxpc2gucHMxYA0KDQojIyBBZHZhbmNlZCBzZXR1cA0KDQpNb3N0IENJIHRvb2xzIHN1cHBvcnQgYSBjb25jZXB0IGxpa2UgRW52aXJvbm1lbnRzIHRvIHdoaWNoIHlvdSBjYW4gYXR0YWNoIGNlcnRhaW4NCmdhdGVzIGxpa2UgYSBtYW51YWwgYXBwcm92YWwgb3IgYSBzY2hlZHVsZWQgcmVsZWFzZSBpbiBhIHNwZWNpZmljIHRpbWUgZnJhbWUuIFBsYXkNCmFyb3VuZCB3aXRoIHRoaXMgYSBsaXR0bGUgYml0IHRvIGZ1cnRoZXIgaW1wcm92ZSB5b3VyIEFwcExvY2tlciBwaXBlbGluZS4NCgEJBAAAAAkFAAAABgYAAAAJcmVhZG1lLm1kBgcAAAAJcmVhZG1lLm1kBggAAAACw74JCQAAAAkKAAAABAQAAAB/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgJCwAAAAEAAAABAAAAAQUAAAAEAAAACQwAAAAAAAAAAAAAAAEJAAAABAAAAAkMAAAAAAAAAAAAAAABCgAAAAQAAAAJDAAAAAAAAAAAAAAAEQsAAAAEAAAABg0AAAAEbmFtZQ0DEQwAAAAAAAAACw==</BA> </MS> </Obj> </LST> </Obj> <I32 N="Generation">1</I32> </Props> <MS> <BA N="SerializationData">AAEAAAD/////AQAAAAAAAAAMAgAAAEpQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGUMAAAABE5hbWUEVHlwZQdWZXJzaW9uC0Rlc2NyaXB0aW9uBkF1dGhvcglDcmVhdGVkT24EVGFncwpQYXJhbWV0ZXJzB1NjcmlwdHMLUGFyYW1ldGVyczIIQ2hpbGRyZW4KR2VuZXJhdGlvbgEEAwEBAAMDAwMDAClQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlVHlwZQIAAAAOU3lzdGVtLlZlcnNpb24Nf1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXYACU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlvbmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlclNjcmlwdCwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXYgCU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlvbmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtQU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlBhcmFtZXRlci5QYXJhbWV0ZXJCYXNlLCBQU01vZHVsZURldmVsb3BtZW50LCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dngFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZSwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQgCAAAABgMAAAAQQXBwTG9ja2VyUHJvamVjdAX8////KVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVUeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkFAAAABgYAAAAwUG93ZXJTaGVsbCBGcmFtZXdvcmsgYmFzZWQgQXBwTG9ja2VyIENJIHRlbXBsYXRlBgcAAAASSmFuLUhlbmRyaWsgUGV0ZXJzAIA08paC3IgJCAAAAAkJAAAACQoAAAAJCwAAAAkMAAAAAQAAAAQFAAAADlN5c3RlbS5WZXJzaW9uBAAAAAZfTWFqb3IGX01pbm9yBl9CdWlsZAlfUmV2aXNpb24AAAAACAgICAEAAAAAAAAAAAAAAP////8ECAAAAH9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24GAAAICAkNAAAAAwAAAAAAAAABCQAAAAgAAAAJDgAAAAIAAAACAAAABAoAAACAAlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkRpY3Rpb25hcnlgMltbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XSxbUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5QYXJhbWV0ZXJTY3JpcHQsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAAB1ZlcnNpb24IQ29tcGFyZXIISGFzaFNpemUAAwAIFlN5c3RlbS5PcmRpbmFsQ29tcGFyZXIIAAAAAAkPAAAAAAAAAAQLAAAAiAJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YDJbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuUGFyYW1ldGVyLlBhcmFtZXRlckJhc2UsIFBTTW9kdWxlRGV2ZWxvcG1lbnQsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAAB1ZlcnNpb24IQ29tcGFyZXIISGFzaFNpemUAAwAIFlN5c3RlbS5PcmRpbmFsQ29tcGFyZXIIAAAAAAkPAAAAAAAAAAQMAAAAngFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZSwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAL1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZVtdAgAAAAgICRAAAAAHAAAABwAAABENAAAAAwAAAAYRAAAABm1vZHVsZQYSAAAAC3BzZnJhbWV3b3JrBhMAAAAJYXBwbG9ja2VyEQ4AAAAEAAAABhQAAAAKZG9tYWluZnFkbgYVAAAABG5hbWUNAgQPAAAAFlN5c3RlbS5PcmRpbmFsQ29tcGFyZXIBAAAAC19pZ25vcmVDYXNlAAEBBxAAAAAAAQAAAAgAAAAELVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZQIAAAAJFgAAAAkXAAAACRgAAAAJGQAAAAkaAAAACRsAAAAJHAAAAAoFFgAAAC9QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUZvbGRlcgYAAAAIQ2hpbGRyZW4ETmFtZQxSZWxhdGl2ZVBhdGgKSWRlbnRpZmllchdGaWxlU3lzdGVtUGFyYW1ldGVyRmxhdBlGaWxlU3lzdGVtUGFyYW1ldGVyU2NyaXB0AwEBAQMDngFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1BTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtQmFzZSwgUFNNb2R1bGVEZXZlbG9wbWVudCwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACR0AAAAGHgAAAAcuZ2l0aHViBh8AAAAHLmdpdGh1YgYgAAAAAsO+CSEAAAAJIgAAAAEXAAAAFgAAAAkjAAAABiQAAAAFYnVpbGQGJQAAAAVidWlsZAkgAAAACScAAAAJKAAAAAEYAAAAFgAAAAkpAAAABioAAAARY29uZmlndXJhdGlvbmRhdGEGKwAAABFjb25maWd1cmF0aW9uZGF0YQkgAAAACS0AAAAJLgAAAAEZAAAAFgAAAAkvAAAABjAAAAAFdGVzdHMGMQAAAAV0ZXN0cwkgAAAACTMAAAAJNAAAAAUaAAAALVBTTW9kdWxlRGV2ZWxvcG1lbnQuVGVtcGxhdGUuVGVtcGxhdGVJdGVtRmlsZQkAAAAFVmFsdWUJUGxhaW5UZXh0FENvbnRlbnRQYXJhbWV0ZXJGbGF0FkNvbnRlbnRQYXJhbWV0ZXJTY3JpcHQETmFtZQxSZWxhdGl2ZVBhdGgKSWRlbnRpZmllchdGaWxlU3lzdGVtUGFyYW1ldGVyRmxhdBlGaWxlU3lzdGVtUGFyYW1ldGVyU2NyaXB0AQADAwEBAQMDAX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1df1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1/U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXX9TeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAY1AAAAF291dHB1dA0KdGVzdHJlc3VsdHMueG1sAQk2AAAACTcAAAAGOAAAAAouZ2l0aWdub3JlBjkAAAAKLmdpdGlnbm9yZQkgAAAACTsAAAAJPAAAAAEbAAAAGgAAAAY9AAAAyR10cmlnZ2VyOg0KICBicmFuY2hlczoNCiAgICBpbmNsdWRlOg0KICAgIC0gbWFpbg0KDQpqb2JzOg0KICAtIGpvYjogQnVpbGQNCiAgICBkaXNwbGF5TmFtZTogJ0J1aWxkIEFwcExvY2tlciBBcnRpZmFjdHMnDQogICAgcG9vbDoNCiAgICAgIG5hbWU6IERlZmF1bHQNCiAgICBzdGVwczoNCiAgICAgIC0gdGFzazogUG93ZXJTaGVsbEAyDQogICAgICAgIG5hbWU6IHByZXJlcQ0KICAgICAgICBkaXNwbGF5TmFtZTogJ0Rvd25sb2FkIHByZXJlcXVpc2l0ZXMnDQogICAgICAgIGlucHV0czoNCiAgICAgICAgICBmaWxlUGF0aDogJy5cYnVpbGRccHJlcmVxdWlzaXRlcy5wczEnDQogICAgICAgICAgYXJndW1lbnRzOiAnLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSknDQogICAgICAtIHRhc2s6IFBvd2VyU2hlbGxAMg0KICAgICAgICBuYW1lOiB2YWxpZGF0ZXlhbWwNCiAgICAgICAgZGlzcGxheU5hbWU6IFZhbGlkYXRlIENvbmZpZ3VyYXRpb24gRGF0YQ0KICAgICAgICBpbnB1dHM6DQogICAgICAgICAgZmlsZVBhdGg6ICcuXGJ1aWxkXHZhbGlkYXRlLnBzMScNCiAgICAgICAgICBhcmd1bWVudHM6ICctVGVzdFR5cGUgQ29uZmlndXJhdGlvbkRhdGEgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVByb2plY3RSb290ICQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSknDQogICAgICAtIHRhc2s6IFBvd2VyU2hlbGxAMg0KICAgICAgICBuYW1lOiBidWlsZHBvbGljeQ0KICAgICAgICBkaXNwbGF5TmFtZTogQnVpbGQgcG9saWN5IFhNTA0KICAgICAgICBpbnB1dHM6DQogICAgICAgICAgZmlsZVBhdGg6ICcuXGJ1aWxkXGJ1aWxkLnBzMScNCiAgICAgICAgICBhcmd1bWVudHM6ICctSW5jbHVkZVJzb3AgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVNvdXJjZVBhdGggKEpvaW4tUGF0aCAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpIGNvbmZpZ3VyYXRpb25kYXRhKSAtT3V0cHV0UGF0aCAoSm9pbi1QYXRoICQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSkgb3V0cHV0KScNCiAgICAgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDENCiAgICAgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFBvbGljeSBYTUwgRmlsZXMnDQogICAgICAgIGlucHV0czoNCiAgICAgICAgICBQYXRodG9QdWJsaXNoOiAnb3V0cHV0L1BvbGljaWVzJw0KICAgICAgICAgIEFydGlmYWN0TmFtZTogUG9saWNpZXMNCiAgICAgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDENCiAgICAgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFBvbGljeSBSU09QIEZpbGVzJw0KICAgICAgICBpbnB1dHM6DQogICAgICAgICAgUGF0aHRvUHVibGlzaDogJ291dHB1dC9Sc29wJw0KICAgICAgICAgIEFydGlmYWN0TmFtZTogUnNvcA0KICAgICAgLSB0YXNrOiBQdWJsaXNoVGVzdFJlc3VsdHNAMg0KICAgICAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggQ29uZmlndXJhdGlvbiBEYXRhIFRlc3QgUmVzdWx0cycNCiAgICAgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpDQogICAgICAgIGlucHV0czoNCiAgICAgICAgICAgIHRlc3RSZXN1bHRzRm9ybWF0OiAnTlVuaXQnDQogICAgICAgICAgICB0ZXN0UmVzdWx0c0ZpbGVzOiAndGVzdHMvdGVzdHJlc3VsdHMueG1sJw0KICAgICAgICAgICAgbWVyZ2VUZXN0UmVzdWx0czogdHJ1ZQ0KICAgICAgICAgICAgZmFpbFRhc2tPbkZhaWxlZFRlc3RzOiB0cnVlDQogICAgICAgICAgICB0ZXN0UnVuVGl0bGU6ICdDb25maWd1cmF0aW9uIERhdGEgVGVzdHMnDQogIC0gZGVwbG95bWVudDogUHJvZA0KICAgIGRlcGVuZHNPbjogQnVpbGQNCiAgICBkaXNwbGF5TmFtZTogUHJvZCBEZXBsb3ltZW50DQogICAgZW52aXJvbm1lbnQ6IFByb2QNCiAgICBwb29sOg0KICAgICAgbmFtZTogRGVmYXVsdA0KICAgIHN0cmF0ZWd5Og0KICAgICAgcnVuT25jZToNCiAgICAgICAgZGVwbG95Og0KICAgICAgICAgIHN0ZXBzOg0KICAgICAgICAgIC0gdGFzazogRG93bmxvYWRCdWlsZEFydGlmYWN0c0AwDQogICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0Rvd25sb2FkIEJ1aWxkIEFydGlmYWN0OiBSc29wJw0KICAgICAgICAgICAgaW5wdXRzOg0KICAgICAgICAgICAgICBidWlsZFR5cGU6ICdjdXJyZW50Jw0KICAgICAgICAgICAgICBhcnRpZmFjdE5hbWU6IFJzb3ANCiAgICAgICAgICAgICAgZG93bmxvYWRQYXRoOiAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpDQogICAgICAgICAgLSB0YXNrOiBEb3dubG9hZEJ1aWxkQXJ0aWZhY3RzQDANCiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRG93bmxvYWQgQnVpbGQgQXJ0aWZhY3Q6IFBvbGljaWVzJw0KICAgICAgICAgICAgaW5wdXRzOg0KICAgICAgICAgICAgICBidWlsZFR5cGU6ICdjdXJyZW50Jw0KICAgICAgICAgICAgICBhcnRpZmFjdE5hbWU6IFBvbGljaWVzDQogICAgICAgICAgICAgIGRvd25sb2FkUGF0aDogJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KQ0KICAgICAgICAgIC0gdGFzazogUG93ZXJTaGVsbEAyDQogICAgICAgICAgICBuYW1lOiBwdWJsaXNocG9saWNpZXMNCiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBQdWJsaXNoIHBvbGljaWVzDQogICAgICAgICAgICBpbnB1dHM6DQogICAgICAgICAgICAgIGZpbGVQYXRoOiAnLlxidWlsZFxwdWJsaXNoLnBzMScNCiAgICAgICAgICAgICAgYXJndW1lbnRzOiAnLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVNvdXJjZVBhdGggKEpvaW4tUGF0aCAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpIGNvbmZpZ3VyYXRpb25kYXRhKSAtT3V0cHV0UGF0aCAoSm9pbi1QYXRoICQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSkgb3V0cHV0KScNCiAgICAgICAgICAtIHRhc2s6IFBvd2VyU2hlbGxAMg0KICAgICAgICAgICAgbmFtZTogdmFsaWRhdGVpbnRlZ3JhdGlvbg0KICAgICAgICAgICAgZGlzcGxheU5hbWU6IFZhbGlkYXRlIEludGVncmF0aW9uDQogICAgICAgICAgICBpbnB1dHM6DQogICAgICAgICAgICAgIGZpbGVQYXRoOiAnLlxidWlsZFx2YWxpZGF0ZS5wczEnDQogICAgICAgICAgICAgIGFyZ3VtZW50czogJy1UZXN0VHlwZSBJbnRlZ3JhdGlvbiAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKSAtUHJvamVjdFJvb3QgJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KScNCiAgICAgICAgICAtIHRhc2s6IFB1Ymxpc2hUZXN0UmVzdWx0c0AyDQogICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggSW50ZWdyYXRpb24gVGVzdCBSZXN1bHRzJw0KICAgICAgICAgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpDQogICAgICAgICAgICBpbnB1dHM6DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdHNGb3JtYXQ6ICdOVW5pdCcNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0c0ZpbGVzOiAndGVzdHMvdGVzdHJlc3VsdHMueG1sJw0KICAgICAgICAgICAgICAgIG1lcmdlVGVzdFJlc3VsdHM6IHRydWUNCiAgICAgICAgICAgICAgICBmYWlsVGFza09uRmFpbGVkVGVzdHM6IHRydWUNCiAgICAgICAgICAgICAgICB0ZXN0UnVuVGl0bGU6ICdJbnRlZ3JhdGlvbiBUZXN0cycNCgEJPgAAAAk/AAAABkAAAAASYXp1cmVwaXBlbGluZXMueW1sBkEAAAASYXp1cmVwaXBlbGluZXMueW1sCSAAAAAJQwAAAAlEAAAAARwAAAAaAAAABkUAAADvCiMgw75uYW1lw74NCg0KQWRkIHlvdXIgcHJvamVjdCBkZXNjcmlwdGlvbiBoZXJlLiBDb25maWd1cmF0aW9uIGRhdGEgY2FuIGJlIGdlbmVyYXRlZCB1c2luZw0KdGhlIGJ1aWxkIGRlcGVuZGVuY3kgYEFwcExvY2tlckZvdW5kcnlgLg0KDQpgYGBwb3dlcnNoZWxsDQpHZXQtQ2hpbGRJdGVtIC1QYXRoICJDOlxQcm9ncmFtIEZpbGVzIiAtUmVjdXJzZSAtRmlsdGVyICouZXhlIHwgR2V0LUFsZllhbWxGaWxlSW5mbw0KYGBgDQoNCiMjIEJ1aWxkIGFuZCByZWxlYXNlIHdvcmtmbG93DQoNClRoZSBpbnRlZ3JhdGVkIGJ1aWxkIHdvcmtmbG93cyBmb3IgR2l0SHViIGFuZCBBenVyZSBEZXZPcHMgKFNlcnZlcikgY2FuIGJlDQp1c2VkIG91dC1vZi10aGUtYm94LCBuZWFybHkuIElmIHlvdSB3YW50IHRvIHB1Ymxpc2ggeW91ciBwb2xpY2llcyBpbiBhIGRvbWFpbg0KZW52aXJvbm1lbnQsIHlvdSB3aWxsIG5lZCB0byBydW4geW91ciBidWlsZCB3b3JrZXIgd2l0aCBhbiBhY2NvdW50DQp0aGF0IGlzIGNhcGFibGUgb2YgdXBkYXRpbmcgdGhlIHJlcXVpcmVkIHBvbGljeSBvYmplY3RzLiBUaGlzIGlzDQpkdWUgdG8gY29uc3RyYWludHMgd2l0aCB0aGUgQXBwTG9ja2VyIGNtZGxldHMgYW5kIHRoZWlyIG1pc3NpbmcgY2FwYWJpbGl0eSB0byBzcGVjaWZ5DQphbHRlcm5hdGl2ZSBjcmVkZW50aWFscy4NCg0KVGhlIGlkZWFsIHdvcmtmbG93IHNob3VsZCB5b3UgbmVlZCBvciB3YW50IHRvIGJ1aWxkIGl0IHlvdXIgc2VsZiB3b3VsZCBsb29rIGxpa2UgdGhpczoNCg0KMS4gRW5zdXJlIHByZXJlcXVpc2l0ZXMgYC5cYnVpbGRccHJlcmVxdWlzaXRlcy5wczFgDQoxLiBWYWxpZGF0ZSBDb25maWd1cmF0aW9uIERhdGE6IGAuXGJ1aWxkXHZhbGlkYXRlLnBzMSAtVGVzdFR5cGUgQ29uZmlndXJhdGlvbkRhdGFgDQoxLiBCdWlsZCBwb2xpY2llcyBhbmQgb3B0aW9uYWwgUlNPUCBmcm9tIGNvbmZpZ3VyYXRpb24gZGF0YTogYC5cYnVpbGRcYnVpbGQucHMxIC1JbmNsdWRlUnNvcGANCjEuIFZhbGlkYXRlIEludGVncmF0aW9uIGludG8gZW52aXJvbm1lbnQ6IGAuXGJ1aWxkXHZhbGlkYXRlLnBzMSAtVGVzdFR5cGUgSW50ZWdyYXRpb25gDQoxLiBQdWJsaXNoOiAgYC5cYnVpbGRccHVibGlzaC5wczFgDQoNCiMjIEFkdmFuY2VkIHNldHVwDQoNCk1vc3QgQ0kgdG9vbHMgc3VwcG9ydCBhIGNvbmNlcHQgbGlrZSBFbnZpcm9ubWVudHMgdG8gd2hpY2ggeW91IGNhbiBhdHRhY2ggY2VydGFpbg0KZ2F0ZXMgbGlrZSBhIG1hbnVhbCBhcHByb3ZhbCBvciBhIHNjaGVkdWxlZCByZWxlYXNlIGluIGEgc3BlY2lmaWMgdGltZSBmcmFtZS4gUGxheQ0KYXJvdW5kIHdpdGggdGhpcyBhIGxpdHRsZSBiaXQgdG8gZnVydGhlciBpbXByb3ZlIHlvdXIgQXBwTG9ja2VyIHBpcGVsaW5lLg0KAQlGAAAACUcAAAAGSAAAAAlyZWFkbWUubWQGSQAAAAlyZWFkbWUubWQJIAAAAAlLAAAACUwAAAABHQAAAAwAAAAJTQAAAAEAAAABAAAAASEAAAAIAAAACU4AAAAAAAAAAAAAAAEiAAAACAAAAAlOAAAAAAAAAAAAAAABIwAAAAwAAAAJTwAAAAUAAAAFAAAAAScAAAAIAAAACU4AAAAAAAAAAAAAAAEoAAAACAAAAAlOAAAAAAAAAAAAAAABKQAAAAwAAAAJUQAAAAYAAAAGAAAAAS0AAAAIAAAACU4AAAAAAAAAAAAAAAEuAAAACAAAAAlOAAAAAAAAAAAAAAABLwAAAAwAAAAJUwAAAAMAAAADAAAAATMAAAAIAAAACU4AAAAAAAAAAAAAAAE0AAAACAAAAAlOAAAAAAAAAAAAAAABNgAAAAgAAAAJTgAAAAAAAAAAAAAAATcAAAAIAAAACU4AAAAAAAAAAAAAAAE7AAAACAAAAAlOAAAAAAAAAAAAAAABPAAAAAgAAAAJTgAAAAAAAAAAAAAAAT4AAAAIAAAACU4AAAAAAAAAAAAAAAE/AAAACAAAAAlOAAAAAAAAAAAAAAABQwAAAAgAAAAJTgAAAAAAAAAAAAAAAUQAAAAIAAAACU4AAAAAAAAAAAAAAAFGAAAACAAAAAlVAAAAAQAAAAEAAAABRwAAAAgAAAAJTgAAAAAAAAAAAAAAAUsAAAAIAAAACU4AAAAAAAAAAAAAAAFMAAAACAAAAAlOAAAAAAAAAAAAAAAHTQAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlXAAAADQMRTgAAAAAAAAAHTwAAAAABAAAACAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAlYAAAACVkAAAAJWgAAAAlbAAAACVwAAAANAwdRAAAAAAEAAAAIAAAABC1QU01vZHVsZURldmVsb3BtZW50LlRlbXBsYXRlLlRlbXBsYXRlSXRlbUJhc2UCAAAACV0AAAAJXgAAAAlfAAAACWAAAAAJYQAAAAliAAAADQIHUwAAAAABAAAABAAAAAQtUFNNb2R1bGVEZXZlbG9wbWVudC5UZW1wbGF0ZS5UZW1wbGF0ZUl0ZW1CYXNlAgAAAAljAAAACWQAAAAJZQAAAAoRVQAAAAQAAAAGZgAAAARuYW1lDQMBVwAAABYAAAAJZwAAAAZoAAAACXdvcmtmbG93cwZpAAAAES5naXRodWJcd29ya2Zsb3dzCSAAAAAJawAAAAlsAAAAAVgAAAAaAAAABm0AAADrDg0KcGFyYW0NCigNCiAgICBbc3RyaW5nXQ0KICAgICREZXBlbmRlbmN5UGF0aCA9IChSZXNvbHZlLVBhdGggIiRQU1NjcmlwdFJvb3RccmVxdWlyZWRNb2R1bGVzLnBzZDEiKS5QYXRoLA0KDQogICAgW3N0cmluZ10NCiAgICAkU291cmNlUGF0aCA9ICIkUFNTY3JpcHRSb290XC4uXGNvbmZpZ3VyYXRpb25kYXRhIiwNCg0KICAgIFtzdHJpbmddDQogICAgJE91dHB1dFBhdGggPSAiJFBTU2NyaXB0Um9vdFwuLlxvdXRwdXQiLA0KDQogICAgW3N3aXRjaF0NCiAgICAkSW5jbHVkZVJzb3ANCikNCg0KJHBzZGVwZW5kQ29uZmlnID0gSW1wb3J0LVBvd2VyU2hlbGxEYXRhRmlsZSAtUGF0aCAkRGVwZW5kZW5jeVBhdGgNCiRtb2RQYXRoID0gUmVzb2x2ZS1QYXRoIC1QYXRoICRwc2RlcGVuZENvbmZpZy5QU0RlcGVuZE9wdGlvbnMuVGFyZ2V0DQokbW9kT2xkID0gJGVudjpQU01vZHVsZVBhdGgNCiRwYXRoU2VwYXJhdG9yID0gW1N5c3RlbS5JTy5QYXRoXTo6UGF0aFNlcGFyYXRvcg0KJGVudjpQU01vZHVsZVBhdGggPSAiJG1vZFBhdGgkcGF0aFNlcGFyYXRvciRtb2RPbGQiDQoNCiRTb3VyY2VQYXRoID0gUmVzb2x2ZS1QYXRoIC1QYXRoICRTb3VyY2VQYXRoIC1FcnJvckFjdGlvbiBTdG9wDQokT3V0cHV0UGF0aCA9IGlmICgtbm90IChSZXNvbHZlLVBhdGggLVBhdGggJE91dHB1dFBhdGggLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUpKQ0Kew0KICAgIChOZXctSXRlbSAtUGF0aCAkT3V0cHV0UGF0aCAtSXRlbVR5cGUgRGlyZWN0b3J5IC1Gb3JjZSkuRnVsbE5hbWUNCn0NCmVsc2UNCnsNCiAgICBSZXNvbHZlLVBhdGggLVBhdGggJE91dHB1dFBhdGgNCn0NCg0KJHJzb3BQYXRoID0gSm9pbi1QYXRoIC1QYXRoICRPdXRwdXRQYXRoIC1DaGlsZFBhdGggcnNvcA0KJHBvbGljeVBhdGggPSBKb2luLVBhdGggLVBhdGggJE91dHB1dFBhdGggLUNoaWxkUGF0aCBwb2xpY2llcw0KaWYgKC1ub3QgKFRlc3QtUGF0aCAtUGF0aCAkcnNvcFBhdGgpKQ0Kew0KICAgICRudWxsID0gTmV3LUl0ZW0gLVBhdGggJHJzb3BQYXRoIC1JdGVtVHlwZSBEaXJlY3RvcnkgLUZvcmNlDQp9DQoNCmlmICgtbm90IChUZXN0LVBhdGggLVBhdGggJHBvbGljeVBhdGgpKQ0Kew0KICAgICRudWxsID0gTmV3LUl0ZW0gLVBhdGggJHBvbGljeVBhdGggLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UNCn0NCg0KaWYgKEdldC1EYXR1bVJzb3BDYWNoZSkNCnsNCiAgICBDbGVhci1EYXR1bVJzb3BDYWNoZQ0KfQ0KDQokZGF0dW0gPSBOZXctRGF0dW1TdHJ1Y3R1cmUgLURlZmluaXRpb25GaWxlIChKb2luLVBhdGggJFNvdXJjZVBhdGggRGF0dW0ueW1sKQ0KJHJzb3BzID0gR2V0LURhdHVtUnNvcCAkZGF0dW0gKEdldC1EYXR1bU5vZGVzUmVjdXJzaXZlIC1BbGxEYXR1bU5vZGVzICREYXR1bS5BbGxOb2RlcykNCiRyc29wcyB8IEV4cG9ydC1BbGZYbWwgLVBhdGggJHBvbGljeVBhdGgNCg0KaWYgKC1ub3QgJEluY2x1ZGVSc29wKQ0Kew0KICAgICRlbnY6UFNNb2R1bGVQYXRoID0gJG1vZE9sZA0KICAgIHJldHVybg0KfQ0KDQpmb3JlYWNoICgkcnNvcCBpbiAkcnNvcHMpDQp7DQogICAgJGRvbWFpblBhdGggPSBKb2luLVBhdGggLVBhdGggJHJzb3BQYXRoIC1DaGlsZFBhdGggJHJzb3AuRG9tYWluDQogICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAtUGF0aCAkZG9tYWluUGF0aCkpDQogICAgew0KICAgICAgICAkbnVsbCA9IE5ldy1JdGVtIC1QYXRoICRkb21haW5QYXRoIC1JdGVtVHlwZSBEaXJlY3RvcnkgLUZvcmNlDQogICAgfQ0KICAgICRyc29wIHwgQ29udmVydFRvLVlhbWwgLU91dEZpbGUgKEpvaW4tUGF0aCAtUGF0aCAkZG9tYWluUGF0aCAtQ2hpbGRQYXRoICIkKCRyc29wLlBvbGljeU5hbWUpLnltbCIpIC1Gb3JjZQ0KfQ0KDQokZW52OlBTTW9kdWxlUGF0aCA9ICRtb2RPbGQNCgEJbgAAAAlvAAAABnAAAAAJYnVpbGQucHMxBnEAAAAPYnVpbGRcYnVpbGQucHMxCSAAAAAJcwAAAAl0AAAAAVkAAAAaAAAABnUAAAC6CHBhcmFtDQooDQogICAgW3N0cmluZ10NCiAgICAkRGVwZW5kZW5jeVBhdGggPSAoUmVzb2x2ZS1QYXRoICIkUFNTY3JpcHRSb290XHJlcXVpcmVkTW9kdWxlcy5wc2QxIikuUGF0aCwNCg0KICAgIFtzd2l0Y2hdDQogICAgJEJ1aWxkV29ya2VyDQopDQoNCiRwc2RlcGVuZENvbmZpZyA9IEltcG9ydC1Qb3dlclNoZWxsRGF0YUZpbGUgLVBhdGggJERlcGVuZGVuY3lQYXRoDQoNCmlmICgkQnVpbGRXb3JrZXIuSXNQcmVzZW50KQ0Kew0KICAgICRudWxsID0gR2V0LVBhY2thZ2VQcm92aWRlciAtTmFtZSBOdUdldCAtRm9yY2VCb290c3RyYXANCg0KICAgIEluc3RhbGwtTW9kdWxlIC1Gb3JjZSAtTmFtZSBQYWNrYWdlTWFuYWdlbWVudCwgUG93ZXJTaGVsbEdldCAtUmVwb3NpdG9yeSAkcHNkZXBlbmRDb25maWcuUFNEZXBlbmRPcHRpb25zLlBhcmFtZXRlcnMuUmVwb3NpdG9yeSAtU2NvcGUgQ3VycmVudFVzZXINCg0KICAgIFJlbW92ZS1Nb2R1bGUgLU5hbWUgUG93ZXJTaGVsbEdldCAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSAtRm9yY2UNCiAgICBSZW1vdmUtTW9kdWxlIC1OYW1lIFBhY2thZ2VNYW5hZ2VtZW50IC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIC1Gb3JjZQ0KICAgIEltcG9ydC1Nb2R1bGUgLUZvcmNlIC1OYW1lIFBvd2VyU2hlbGxHZXQNCiAgICBJbXBvcnQtTW9kdWxlIC1Gb3JjZSAtTmFtZSBQYWNrYWdlTWFuYWdlbWVudA0KDQogICAgJG51bGwgPSBJbnN0YWxsLVdpbmRvd3NGZWF0dXJlIC1OYW1lIEdQTUMNCn0NCg0KU2F2ZS1Nb2R1bGUgLU5hbWUgUFNEZXBlbmQgLVJlcG9zaXRvcnkgJHBzZGVwZW5kQ29uZmlnLlBTRGVwZW5kT3B0aW9ucy5QYXJhbWV0ZXJzLlJlcG9zaXRvcnkgLVBhdGggJHBzZGVwZW5kQ29uZmlnLlBTRGVwZW5kT3B0aW9ucy5UYXJnZXQgLUZvcmNlDQpJbXBvcnQtTW9kdWxlIC1OYW1lIChKb2luLVBhdGggLVBhdGggJHBzZGVwZW5kQ29uZmlnLlBTRGVwZW5kT3B0aW9ucy5UYXJnZXQgLUNoaWxkUGF0aCBQU0RlcGVuZFwqXFBTRGVwZW5kLnBzZDEgLVJlc29sdmUpDQpJbnZva2UtUFNEZXBlbmQgLVBhdGggJERlcGVuZGVuY3lQYXRoIC1Gb3JjZQ0KAQl2AAAACXcAAAAGeAAAABFwcmVyZXF1aXNpdGVzLnBzMQZ5AAAAF2J1aWxkXHByZXJlcXVpc2l0ZXMucHMxCSAAAAAJewAAAAl8AAAAAVoAAAAaAAAABn0AAADfD3BhcmFtDQooDQogICAgW3N0cmluZ10NCiAgICAkRGVwZW5kZW5jeVBhdGggPSAoUmVzb2x2ZS1QYXRoICIkUFNTY3JpcHRSb290XHJlcXVpcmVkTW9kdWxlcy5wc2QxIikuUGF0aCwNCg0KICAgIFtzdHJpbmddDQogICAgJE91dHB1dFBhdGggPSAoUmVzb2x2ZS1QYXRoICIkUFNTY3JpcHRSb290XC4uXG91dHB1dCIpLlBhdGgsDQoNCiAgICBbc3RyaW5nXQ0KICAgICRTb3VyY2VQYXRoID0gIiRQU1NjcmlwdFJvb3RcLi5cY29uZmlndXJhdGlvbmRhdGEiDQopDQoNCiRwc2RlcGVuZENvbmZpZyA9IEltcG9ydC1Qb3dlclNoZWxsRGF0YUZpbGUgLVBhdGggJERlcGVuZGVuY3lQYXRoDQokbW9kUGF0aCA9IFJlc29sdmUtUGF0aCAtUGF0aCAkcHNkZXBlbmRDb25maWcuUFNEZXBlbmRPcHRpb25zLlRhcmdldA0KJG1vZE9sZCA9ICRlbnY6UFNNb2R1bGVQYXRoDQokcGF0aFNlcGFyYXRvciA9IFtTeXN0ZW0uSU8uUGF0aF06OlBhdGhTZXBhcmF0b3INCiRlbnY6UFNNb2R1bGVQYXRoID0gIiRtb2RQYXRoJHBhdGhTZXBhcmF0b3IkbW9kT2xkIg0KJGRhdHVtID0gTmV3LURhdHVtU3RydWN0dXJlIC1EZWZpbml0aW9uRmlsZSAoSm9pbi1QYXRoICRTb3VyY2VQYXRoIERhdHVtLnltbCkNCltoYXNodGFibGVbXV0gJHJzb3BzID0gR2V0LURhdHVtUnNvcCAkZGF0dW0gKEdldC1EYXR1bU5vZGVzUmVjdXJzaXZlIC1BbGxEYXR1bU5vZGVzICREYXR1bS5BbGxOb2RlcykNCg0KZm9yZWFjaCAoJHBvbGljeSBpbiAoR2V0LUNoaWxkSXRlbSAtUGF0aCAoSm9pbi1QYXRoIC1QYXRoICRPdXRwdXRQYXRoIC1DaGlsZFBhdGggUG9saWNpZXMpIC1SZWN1cnNlIC1GaWx0ZXIgKi54bWwpKQ0Kew0KICAgICRzZWFyY2hlciA9IFthZHNpc2VhcmNoZXJdOjpuZXcoKQ0KICAgICRzZWFyY2hlci5GaWx0ZXIgPSAiKCYob2JqZWN0Q2xhc3M9Z3JvdXBQb2xpY3lDb250YWluZXIpKGRpc3BsYXlOYW1lPSQoJHBvbGljeS5CYXNlTmFtZSkpKSINCiAgICAkcG9saWN5Rm91bmQgPSAkc2VhcmNoZXIuRmluZE9uZSgpDQoNCiAgICBpZiAoLW5vdCAkcG9saWN5Rm91bmQpDQogICAgew0KICAgICAgICAkbnVsbCA9IE5ldy1HUE8gLU5hbWUgJHBvbGljeS5CYXNlTmFtZSAtQ29tbWVudCAiQXV0by11cGRhdGVkIGFwcGxvY2tlciBwb2xpY3kiIC1Eb21haW4gJHBvbGljeS5EaXJlY3RvcnkuTmFtZQ0KICAgIH0NCg0KICAgICRyc29wID0gJHJzb3BzIHwgV2hlcmUtT2JqZWN0IHsgJF9bJ1BvbGljeU5hbWUnXSAtZXEgJHBvbGljeS5CYXNlTmFtZSB9DQogICAgZm9yZWFjaCAoJGxpbmsgaW4gJHJzb3AuTGlua3MpDQogICAgew0KICAgICAgICAkcGFyYW0gPSBAew0KICAgICAgICAgICAgTmFtZSAgICA9ICRyc29wLlBvbGljeU5hbWUNCiAgICAgICAgICAgIFRhcmdldCAgPSAkbGluay5PcmdVbml0RG4NCiAgICAgICAgICAgIERvbWFpbiAgPSAkcG9saWN5LkRpcmVjdG9yeS5OYW1lDQogICAgICAgICAgICBDb25maXJtID0gJGZhbHNlDQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJHJzb3AuQ29udGFpbnNLZXkoJ0VuYWJsZWQnKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHBhcmFtWydMaW5rRW5hYmxlZCddID0gJGxpbmsuRW5hYmxlZA0KICAgICAgICB9DQogICAgICAgIGlmICgkcnNvcC5Db250YWluc0tleSgnRW5mb3JjZWQnKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHBhcmFtWydFbmZvcmNlZCddID0gJGxpbmsuRW5mb3JjZWQNCiAgICAgICAgfQ0KICAgICAgICBpZiAoJHJzb3AuQ29udGFpbnNLZXkoJ09yZGVyJykpDQogICAgICAgIHsNCiAgICAgICAgICAgICRwYXJhbVsnT3JkZXInXSA9ICRsaW5rLk9yZGVyDQogICAgICAgIH0NCg0KICAgICAgICBTZXQtR1BMaW5rIEBwYXJhbQ0KICAgIH0NCg0KICAgICRwb2xpY3lGb3VuZCA9ICRzZWFyY2hlci5GaW5kT25lKCkNCg0KICAgIFNldC1BcHBMb2NrZXJQb2xpY3kgLVhtbFBvbGljeSAkcG9saWN5LkZ1bGxOYW1lIC1MZGFwICRwb2xpY3lGb3VuZC5QYXRoDQp9DQoNCiRlbnY6UFNNb2R1bGVQYXRoID0gJG1vZE9sZA0KAQl+AAAACX8AAAAGgAAAAAtwdWJsaXNoLnBzMQaBAAAAEWJ1aWxkXHB1Ymxpc2gucHMxCSAAAAAJgwAAAAmEAAAAAVsAAAAaAAAABoUAAACiBEB7DQogICAgUFNEZXBlbmRPcHRpb25zICAgICAgID0gQHsNCiAgICAgICAgQWRkVG9QYXRoICA9ICRmYWxzZQ0KICAgICAgICBUYXJnZXQgICAgID0gJ291dHB1dFxSZXF1aXJlZE1vZHVsZXMnDQogICAgICAgIFBhcmFtZXRlcnMgPSBAew0KICAgICAgICAgICAgUmVwb3NpdG9yeSAgICAgID0gJ1BTR2FsbGVyeScNCiAgICAgICAgICAgIEFsbG93UHJlUmVsZWFzZSA9ICR0cnVlDQogICAgICAgIH0NCiAgICB9DQoNCiAgICAncG93ZXJzaGVsbC15YW1sJyAgICAgPSAnMC40LjcnDQogICAgUFNTY3JpcHRBbmFseXplciAgICAgID0gJzEuMjEuMCcNCiAgICBQZXN0ZXIgICAgICAgICAgICAgICAgPSAnNS40LjEnDQogICAgJ1NhbXBsZXIuRHNjUGlwZWxpbmUnID0gJzAuMi4wLXByZXZpZXcwMDE1JyAjIFVuZm9ydHVuYXRlbHkgc3RpbGwgaW4gcHJldmlldw0KICAgIERhdHVtICAgICAgICAgICAgICAgICA9ICcwLjQwLjEnDQogICAgJ0RhdHVtLkludm9rZUNvbW1hbmQnID0gJzAuMy4wJw0KICAgIEFwcExvY2tlckZvdW5kcnkgICAgICA9ICcxLjEuNScNCn0NCgEJhgAAAAmHAAAABogAAAAUcmVxdWlyZWRNb2R1bGVzLnBzZDEGiQAAABpidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMQkgAAAACYsAAAAJjAAAAAFcAAAAGgAAAAaNAAAA7whbQ21kbGV0QmluZGluZygpXQ0KcGFyYW0NCigNCiAgICBbc3RyaW5nXQ0KICAgICREZXBlbmRlbmN5UGF0aCA9IChSZXNvbHZlLVBhdGggIiRQU1NjcmlwdFJvb3RccmVxdWlyZWRNb2R1bGVzLnBzZDEiKS5QYXRoLA0KDQogICAgW3N0cmluZ10NCiAgICAkUHJvamVjdFJvb3QgPSAoUmVzb2x2ZS1QYXRoICIkUFNTY3JpcHRSb290XC4uIikuUGF0aCwNCg0KICAgIFtWYWxpZGF0ZVNldCgnVW5pdCcsICdDb25maWd1cmF0aW9uRGF0YScsICdJbnRlZ3JhdGlvbicpXQ0KICAgIFtzdHJpbmddDQogICAgJFRlc3RUeXBlDQopDQoNCiRwc2RlcGVuZENvbmZpZyA9IEltcG9ydC1Qb3dlclNoZWxsRGF0YUZpbGUgLVBhdGggJERlcGVuZGVuY3lQYXRoDQokbW9kUGF0aCA9IFJlc29sdmUtUGF0aCAtUGF0aCAkcHNkZXBlbmRDb25maWcuUFNEZXBlbmRPcHRpb25zLlRhcmdldA0KJG1vZE9sZCA9ICRlbnY6UFNNb2R1bGVQYXRoDQokcGF0aFNlcGFyYXRvciA9IFtTeXN0ZW0uSU8uUGF0aF06OlBhdGhTZXBhcmF0b3INCiRlbnY6UFNNb2R1bGVQYXRoID0gIiRtb2RQYXRoJHBhdGhTZXBhcmF0b3IkbW9kT2xkIg0KDQpJbXBvcnQtTW9kdWxlIFBlc3RlciAtRm9yY2UgLUVycm9yQWN0aW9uIFN0b3AgLU1pbmltdW1WZXJzaW9uIDUuMC4wDQoNCiRnbG9iYWw6dGVzdHJvb3QgPSBKb2luLVBhdGggJFByb2plY3RSb290IHRlc3RzDQokcG8gPSBbUGVzdGVyQ29uZmlndXJhdGlvbl06Ok5ldygpDQokcG8uUnVuLlBhdGggPSBKb2luLVBhdGggJGdsb2JhbDp0ZXN0cm9vdCAkVGVzdFR5cGUNCiRwby5SdW4uUGFzc1RocnUgPSAkdHJ1ZQ0KJHBvLk91dHB1dC5WZXJib3NpdHkgPSAnRGV0YWlsZWQnDQokcG8uVGVzdFJlc3VsdC5FbmFibGVkID0gJHRydWUNCiRwby5UZXN0UmVzdWx0Lk91dHB1dFBhdGggPSBKb2luLVBhdGggJGdsb2JhbDp0ZXN0cm9vdCAndGVzdHJlc3VsdHMueG1sJw0KJHBvLlRlc3RSZXN1bHQuT3V0cHV0Rm9ybWF0ID0gJ05Vbml0Mi41Jw0KDQokcmVzdWx0ID0gSW52b2tlLVBlc3RlciAtQ29uZmlndXJhdGlvbiAkcG8NCiRlbnY6UFNNb2R1bGVQYXRoID0gJG1vZE9sZA0KDQppZiAoJHJlc3VsdC5GYWlsZWRDb3VudCAtZ3QgMCkgew0KICAgIHRocm93ICJQZXN0ZXIgdGVzdHMgZmFpbGVkIg0KfQ0KAQmOAAAACY8AAAAGkAAAAAx2YWxpZGF0ZS5wczEGkQAAABJidWlsZFx2YWxpZGF0ZS5wczEJIAAAAAmTAAAACZQAAAABXQAAABYAAAAJlQAAAAaWAAAABEFwcHMGlwAAABZjb25maWd1cmF0aW9uZGF0YVxBcHBzCSAAAAAJmQAAAAmaAAAAAV4AAAAWAAAACZsAAAAGnAAAAAdEb21haW5zBp0AAAAZY29uZmlndXJhdGlvbmRhdGFcRG9tYWlucwkgAAAACZ8AAAAJoAAAAAFfAAAAFgAAAAmhAAAABqIAAAAIR2VuZXJpY3MGowAAABpjb25maWd1cmF0aW9uZGF0YVxHZW5lcmljcwkgAAAACaUAAAAJpgAAAAFgAAAAFgAAAAmnAAAABqgAAAAIUG9saWNpZXMGqQAAABpjb25maWd1cmF0aW9uZGF0YVxQb2xpY2llcwkgAAAACasAAAAJrAAAAAFhAAAAGgAAAAatAAAAyxBSZXNvbHV0aW9uUHJlY2VkZW5jZToNCiAgLSBBbGxOb2Rlc1wkKCROb2RlLkRvbWFpbilcJCgkTm9kZS5Qb2xpY3lOYW1lKQ0KICAtICdbeD0geyAkTm9kZS5BcHBzIHwgRm9yZWFjaC1PYmplY3QgeyJBcHBzXCRfIn0gfSA9XScNCiAgLSBEb21haW5zXCQoJE5vZGUuRG9tYWluKQ0KICAtIEdlbmVyaWNzXFdpbmRvd3MNCg0KRGF0dW1IYW5kbGVyc1Rocm93T25FcnJvcjogdHJ1ZQ0KRGF0dW1IYW5kbGVyczoNCiAgRGF0dW0uSW52b2tlQ29tbWFuZDo6SW52b2tlQ29tbWFuZDoNCiAgICBTa2lwRHVyaW5nTG9hZDogdHJ1ZQ0KDQpkZWZhdWx0X2xvb2t1cF9vcHRpb25zOiBNb3N0U3BlY2lmaWMNCg0KbG9va3VwX29wdGlvbnM6DQogIENvbmZpZ3VyYXRpb25zOg0KICAgIG1lcmdlX2Jhc2V0eXBlX2FycmF5OiBVbmlxdWUNCg0KICBSdWxlQ29sbGVjdGlvbnM6DQogICAgbWVyZ2VfaGFzaDogZGVlcA0KICBSdWxlQ29sbGVjdGlvbnNcRXhlOg0KICAgIG1lcmdlX2hhc2g6IGRlZXANCiAgUnVsZUNvbGxlY3Rpb25zXEV4ZVxSdWxlczoNCiAgICBtZXJnZV9oYXNoX2FycmF5OiBVbmlxdWVLZXlWYWxUdXBsZXMNCiAgICBtZXJnZV9vcHRpb25zOg0KICAgICAgdHVwbGVfa2V5czoNCiAgICAgICAgLSBOYW1lDQogIFJ1bGVDb2xsZWN0aW9uc1xFeGVcUnVsZXNcRXhjZXB0aW9uczoNCiAgICBtZXJnZV9iYXNldHlwZV9hcnJheTogVW5pcXVlDQogIFJ1bGVDb2xsZWN0aW9uc1xNc2k6DQogICAgbWVyZ2VfaGFzaDogZGVlcA0KICBSdWxlQ29sbGVjdGlvbnNcTXNpXFJ1bGVzOg0KICAgIG1lcmdlX2hhc2hfYXJyYXk6IFVuaXF1ZUtleVZhbFR1cGxlcw0KICAgIG1lcmdlX29wdGlvbnM6DQogICAgICB0dXBsZV9rZXlzOg0KICAgICAgICAtIE5hbWUNCiAgUnVsZUNvbGxlY3Rpb25zXE1zaVxSdWxlc1xFeGNlcHRpb25zOg0KICAgIG1lcmdlX2Jhc2V0eXBlX2FycmF5OiBVbmlxdWUNCiAgUnVsZUNvbGxlY3Rpb25zXERsbDoNCiAgICBtZXJnZV9oYXNoOiBkZWVwDQogIFJ1bGVDb2xsZWN0aW9uc1xEbGxcUnVsZXM6DQogICAgbWVyZ2VfaGFzaF9hcnJheTogVW5pcXVlS2V5VmFsVHVwbGVzDQogICAgbWVyZ2Vfb3B0aW9uczoNCiAgICAgIHR1cGxlX2tleXM6DQogICAgICAgIC0gTmFtZQ0KICBSdWxlQ29sbGVjdGlvbnNcRGxsXFJ1bGVzXEV4Y2VwdGlvbnM6DQogICAgbWVyZ2VfYmFzZXR5cGVfYXJyYXk6IFVuaXF1ZQ0KICBSdWxlQ29sbGVjdGlvbnNcU2NyaXB0Og0KICAgIG1lcmdlX2hhc2g6IGRlZXANCiAgUnVsZUNvbGxlY3Rpb25zXFNjcmlwdFxSdWxlczoNCiAgICBtZXJnZV9oYXNoX2FycmF5OiBVbmlxdWVLZXlWYWxUdXBsZXMNCiAgICBtZXJnZV9vcHRpb25zOg0KICAgICAgdHVwbGVfa2V5czoNCiAgICAgICAgLSBOYW1lDQogIFJ1bGVDb2xsZWN0aW9uc1xTY3JpcHRcUnVsZXNcRXhjZXB0aW9uczoNCiAgICBtZXJnZV9iYXNldHlwZV9hcnJheTogVW5pcXVlDQogIFJ1bGVDb2xsZWN0aW9uc1xBcHB4Og0KICAgIG1lcmdlX2hhc2g6IGRlZXANCiAgUnVsZUNvbGxlY3Rpb25zXEFwcHhcUnVsZXM6DQogICAgbWVyZ2VfaGFzaF9hcnJheTogVW5pcXVlS2V5VmFsVHVwbGVzDQogICAgbWVyZ2Vfb3B0aW9uczoNCiAgICAgIHR1cGxlX2tleXM6DQogICAgICAgIC0gTmFtZQ0KICBSdWxlQ29sbGVjdGlvbnNcQXBweFxSdWxlc1xFeGNlcHRpb25zOg0KICAgIG1lcmdlX2Jhc2V0eXBlX2FycmF5OiBVbmlxdWUNCg0KRGF0dW1TdHJ1Y3R1cmU6DQogIC0gU3RvcmVOYW1lOiBBbGxOb2Rlcw0KICAgIFN0b3JlUHJvdmlkZXI6IERhdHVtOjpGaWxlDQogICAgU3RvcmVPcHRpb25zOg0KICAgICAgUGF0aDogIi4vUG9saWNpZXMiDQogIC0gU3RvcmVOYW1lOiBHZW5lcmljcw0KICAgIFN0b3JlUHJvdmlkZXI6IERhdHVtOjpGaWxlDQogICAgU3RvcmVPcHRpb25zOg0KICAgICAgUGF0aDogIi4vR2VuZXJpY3MiDQogIC0gU3RvcmVOYW1lOiBEb21haW5zDQogICAgU3RvcmVQcm92aWRlcjogRGF0dW06OkZpbGUNCiAgICBTdG9yZU9wdGlvbnM6DQogICAgICBQYXRoOiAiLi9Eb21haW5zIg0KICAtIFN0b3JlTmFtZTogQXBwcw0KICAgIFN0b3JlUHJvdmlkZXI6IERhdHVtOjpGaWxlDQogICAgU3RvcmVPcHRpb25zOg0KICAgICAgUGF0aDogIi4vQXBwcyINCgEJrgAAAAmvAAAABrAAAAAJRGF0dW0ueW1sBrEAAAAbY29uZmlndXJhdGlvbmRhdGFcRGF0dW0ueW1sCSAAAAAJswAAAAm0AAAAAWIAAAAaAAAABrUAAACvDSMgQ29uZmlndXJhdGlvbiBEYXRhDQoNClRoZSBgY29uZmlndXJhdGlvbmRhdGFgIGRpcmVjdG9yeSBjb250YWlucyB5b3VyIG92ZXJhbGwgbWVyZ2luZyBjb25maWd1cmF0aW9uIGBEYXR1bS55bWxgIGFzDQppbmRpdmlkdWFsIGZvbGRlcnMgZGVzY3JpYmVkIGluIHlvdXIgbWVyZ2luZyBjb25maWd1cmF0aW9uJ3MgUmVzb2x1dGlvbiBQcmVjZWRlbmNlLiBUaGlzDQp0ZW1wbGF0ZSBhc3N1bWVzOg0KDQpgYGB5YW1sDQpSZXNvbHV0aW9uUHJlY2VkZW5jZToNCiAgLSBBbGxOb2Rlc1wkKCROb2RlLlBvbGljeU5hbWUpDQogIC0gJ1t4PSB7ICROb2RlLkFwcHMgfCBGb3JlYWNoLU9iamVjdCB7IkFwcHNcJF8ifSB9ID1dJw0KICAtIERvbWFpbnNcJCgkTm9kZS5Eb21haW4pDQogIC0gR2VuZXJpY3NcV2luZG93cw0KYGBgDQoNCkdlbmVyaWMgV2luZG93cyBzZXR0aW5ncyBhcmUgYXBwbGllZCBmaXJzdC4gVGhvc2UgYXJlIG1lcmdlZCB3aXRoIGFsbCBkb21haW4tc3BlY2lmaWMNCnNldHRpbmdzLCB0YWtpbmcgaW50byBjb25zaWRlcmF0aW9uIHdoaWNoIGRvbWFpbiB0aGUgcG9saWN5IGlzIGFzc2lnbmVkIHRvLiBUaG9zZSBhcmUgdGhlbg0KbWVyZ2VkIHdpdGggYWxsIEFwcC1zcGVjaWZpYyBjb25maWd1cmF0aW9ucyB0aGF0IGEgcG9saWN5IHNob3VsZCBjb250YWluLCBhbmQgbGFzdGx5DQp0aGUgcG9saWN5IGl0c2VsZiBhZGRzIGl0cyBvd24gc3BlY2lmaWMgc2V0dGluZ3MgbGlrZSB0aGUgcG9saWN5IG5hbWUuDQoNCiMjIEFwcHMNCg0KVGhlIGlkZWEgaXMgdG8gZGVzY3JpYmUgZWFjaCBhcHAgaW4gYSB3YXkgdGhhdCBBcHBMb2NrZXIga25vd3MgYWJvdXQgYWxsIHJlcXVpcmVkDQpiaW5hcmllcy4gRXhhbWluZSB0aGUgc2FtcGxlIEFwcCBgR2l0YCB0byBsZWFybiBtb3JlLg0KDQojIyBEb21haW5zDQoNClRoZSBpZGVhIGlzIHRvIGRlc2NyaWJlIGNvbnRlbnQgdGhhdCBpcyByZWxldmFudCBmb3IgZWFjaCBkb21haW4uDQoNCiMjIFBvbGljaWVzDQoNCkdyb3VwZWQgYnkgdGhlIGRvbWFpbiwgZWFjaCBwb2xpY3kgc2hvdWxkIGJlIGEgc2luZ2xlIHltbCBmaWxlIHRoYXQgY29udGFpbnMNCnRoZSBOYW1lLCBEb21haW4sIG9wdGlvbmFsIEdQTGlua3MgYW5kIHN1YnNjcmliZWQgQXBwcyBmb3IgdGhhdCBwb2xpY3kuDQoNClRocm91Z2ggdGhlIHVzZSBvZiBEYXR1bS5JbnZva2VDb21tYW5kLCB3ZSBjYW4gcnVuIHNjcmlwdHMgZHVyaW5nIHRoZSBidWlsZA0KcHJvY2Vzcywgb3IgcmF0aGVyOiBXaGVuIGdlbmVyYXRpbmcgdGhlIFJTT1AgZm9yIHRoZSBidWlsZC4NCg0KYGBgeWFtbA0KUG9saWN5TmFtZTogIlt4PXsgJE5vZGUuTmFtZSB9PV0iDQpEb21haW46ICJbeD17ICRGaWxlLkRpcmVjdG9yeS5CYXNlTmFtZSB9ID1dIg0KTGlua3M6DQogIC0gT3JnVW5pdERuOiAiT1U9UHJvZCxEQz1jb250b3NvLERDPWNvbSINCiAgICBMaW5rT3JkZXI6IDENCiAgICBFbmZvcmNlZDogeWVzICMgdW5zcGVjaWZpZWQsIG5vDQogICAgRW5hYmxlZDogbm8gIyB1bnNwZWNpZmllZCwgeWVzDQpBcHBzOg0KICAtIEdpdA0KYGBgDQoNCiMjIEdlbmVyaWNzDQoNCkN1cnJlbnRseSBvbmx5IG9uZSBnZW5lcmljIGNvbmZpZ3VyYXRpb24gaXMgcmVjb21tZW5kZWQ6IFdpbmRvd3MuIFRoaXMgc2FtcGxlIGFscmVhZHkNCmNvbnRhaW5zIHRoZSByZWNvbW1lbmRlZCBjb250ZW50IGFuZCBkaXNhYmxlcyBQb3dlclNoZWxsIDIuDQoBCbYAAAAJtwAAAAa4AAAACXJlYWRtZS5tZAa5AAAAG2NvbmZpZ3VyYXRpb25kYXRhXHJlYWRtZS5tZAkgAAAACbsAAAAJvAAAAAFjAAAAFgAAAAm9AAAABr4AAAARQ29uZmlndXJhdGlvbkRhdGEGvwAAABd0ZXN0c1xDb25maWd1cmF0aW9uRGF0YQkgAAAACcEAAAAJwgAAAAFkAAAAFgAAAAnDAAAABsQAAAALSW50ZWdyYXRpb24GxQAAABF0ZXN0c1xJbnRlZ3JhdGlvbgkgAAAACccAAAAJyAAAAAFlAAAAFgAAAAnJAAAABsoAAAAEVW5pdAbLAAAACnRlc3RzXFVuaXQJIAAAAAnNAAAACc4AAAABZwAAAAwAAAAJzwAAAAIAAAACAAAAAWsAAAAIAAAACU4AAAAA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aW5kb3dzLWxhdGVzdA0KDQogICAgc3RlcHM6DQogICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QHYxDQogICAgLSBuYW1lOiBJbnN0YWxsIFByZXJlcXVpc2l0ZXMNCiAgICAgIHJ1bjogLlxidWlsZFxwcmVyZXF1aXNpdGVzLnBzMSAtQnVpbGRXb3JrZXIgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKQ0KICAgICAgc2hlbGw6IHBvd2Vyc2hlbGwNCiAgICAtIG5hbWU6IFZhbGlkYXRlIENvbmZpZ3VyYXRpb24gRGF0YQ0KICAgICAgcnVuOiAuXGJ1aWxkXHZhbGlkYXRlLnBzMSAtVGVzdFR5cGUgQ29uZmlndXJhdGlvbkRhdGEgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKSAtUHJvamVjdFJvb3QgJGVudjpHSVRIVUJfV09SS1NQQUNFDQogICAgICBzaGVsbDogcG93ZXJzaGVsbA0KICAgIC0gbmFtZTogQnVpbGQNCiAgICAgIHJ1bjogLlxidWlsZFxidWlsZC5wczEgLUluY2x1ZGVSc29wIC1EZXBlbmRlbmN5UGF0aCAoSm9pbi1QYXRoICRlbnY6R0lUSFVCX1dPUktTUEFDRSBidWlsZFxyZXF1aXJlZE1vZHVsZXMucHNkMSkgLVNvdXJjZVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgY29uZmlndXJhdGlvbmRhdGEpIC1PdXRwdXRQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIG91dHB1dCkNCiAgICAgIHNoZWxsOiBwb3dlcnNoZWxsDQogICAgLSB1c2VzOiBhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2Mw0KICAgICAgd2l0aDoNCiAgICAgICAgbmFtZTogYnVpbGQtYXJ0aWZhY3RzDQogICAgICAgIHBhdGg6IHwNCiAgICAgICAgICAuXG91dHB1dFxyc29wDQogICAgICAgICAgLlxvdXRwdXRccG9saWNpZXMNCiAgICAtIG5hbWU6IFB1Ymxpc2gNCiAgICAgIHJ1bjogLlxidWlsZFxwdWJsaXNoLnBzMQ0KICAgICAgc2hlbGw6IHBvd2Vyc2hlbGwNCiAgICAtIG5hbWU6IFZhbGlkYXRlIEludGVncmF0aW9uIFRlc3RzDQogICAgICBydW46IC5cYnVpbGRcdmFsaWRhdGUucHMxIC1UZXN0VHlwZSBJbnRlZ3JhdGlvbiAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgYnVpbGRccmVxdWlyZWRNb2R1bGVzLnBzZDEpIC1Qcm9qZWN0Um9vdCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UNCiAgICAgIHNoZWxsOiBwb3dlcnNoZWxsAQnsAAAACe0AAAAG7gAAAAtwdWJsaXNoLnltbAbvAAAAHS5naXRodWJcd29ya2Zsb3dzXHB1Ymxpc2gueW1sCSAAAAAJ8QAAAAnyAAAAAeAAAAAaAAAABvMAAADXB29uOiBbcHVsbF9yZXF1ZXN0XQ0KDQpqb2JzOg0KICB2YWxpZGF0ZToNCg0KICAgIHJ1bnMtb246IHdpbmRvd3MtbGF0ZXN0DQoNCiAgICBzdGVwczoNCiAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjENCiAgICAtIG5hbWU6IEluc3RhbGwgUHJlcmVxdWlzaXRlcw0KICAgICAgcnVuOiAuXGJ1aWxkXHByZXJlcXVpc2l0ZXMucHMxIC1CdWlsZFdvcmtlciAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgYnVpbGRccmVxdWlyZWRNb2R1bGVzLnBzZDEpDQogICAgICBzaGVsbDogcG93ZXJzaGVsbA0KICAgIC0gbmFtZTogVmFsaWRhdGUgQ29uZmlndXJhdGlvbiBEYXRhDQogICAgICBydW46IC5cYnVpbGRcdmFsaWRhdGUucHMxIC1UZXN0VHlwZSBDb25maWd1cmF0aW9uRGF0YSAtRGVwZW5kZW5jeVBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UgYnVpbGRccmVxdWlyZWRNb2R1bGVzLnBzZDEpIC1Qcm9qZWN0Um9vdCAkZW52OkdJVEhVQl9XT1JLU1BBQ0UNCiAgICAgIHNoZWxsOiBwb3dlcnNoZWxsDQogICAgLSBuYW1lOiBCdWlsZA0KICAgICAgcnVuOiAuXGJ1aWxkXGJ1aWxkLnBzMSAtSW5jbHVkZVJzb3AgLURlcGVuZGVuY3lQYXRoIChKb2luLVBhdGggJGVudjpHSVRIVUJfV09SS1NQQUNFIGJ1aWxkXHJlcXVpcmVkTW9kdWxlcy5wc2QxKSAtU291cmNlUGF0aCAoSm9pbi1QYXRoICRlbnY6R0lUSFVCX1dPUktTUEFDRSBjb25maWd1cmF0aW9uZGF0YSkgLU91dHB1dFBhdGggKEpvaW4tUGF0aCAkZW52OkdJVEhVQl9XT1JLU1BBQ0Ugb3V0cHV0KQ0KICAgICAgc2hlbGw6IHBvd2Vyc2hlbGwNCiAgICAtIHVzZXM6IGFjdGlvbnMvdXBsb2FkLWFydGlmYWN0QHYzDQogICAgICB3aXRoOg0KICAgICAgICBuYW1lOiBidWlsZC1hcnRpZmFjdHMNCiAgICAgICAgcGF0aDogfA0KICAgICAgICAgIC5cb3V0cHV0XHJzb3ANCiAgICAgICAgICAuXG91dHB1dFxwb2xpY2llcw0KAQn0AAAACfUAAAAG9gAAAAx2YWxpZGF0ZS55bWwG9wAAAB4uZ2l0aHViXHdvcmtmbG93c1x2YWxpZGF0ZS55bWwJIAAAAAn5AAAACfoAAAAB4QAAABoAAAAG+wAAAJgIQ29uZmlndXJhdGlvbnM6DQogIC0gUnVsZUNvbGxlY3Rpb25zDQoNClJ1bGVDb2xsZWN0aW9uczoNCiAgRXhlOg0KICAgIEVuZm9yY2VtZW50TW9kZTogQXVkaXRPbmx5DQogICAgUnVsZXM6DQogICAgICAtIE5hbWU6IEFsbG93IGdpdC5leGUNCiAgICAgICAgRGVzY3JpcHRpb246IEFsbG93IGFsbCB1c2VycyB0byBydW4gZ2l0LmV4ZQ0KICAgICAgICBQYXRoOiAnJVBST0dSQU1GSUxFUyVcZ2l0XGNtZFxnaXQuZXhlJw0KICAgICAgICBVc2VyT3JHcm91cFNpZDogUy0xLTEtMA0KICAgICAgICBBY3Rpb246IEFsbG93DQogICAgICAtIE5hbWU6IEFsbG93IHNwZWNpZmljIGhhc2hlZCBnaXQNCiAgICAgICAgRGVzY3JpcHRpb246IEFsbG93IGFsbCB1c2VycyB0byBydW4gZ2l0LmV4ZSB0aGF0IGhhcyBhIHNwZWNpZmljIGhhc2gNCiAgICAgICAgVHlwZTogU0hBMjU2DQogICAgICAgIERhdGE6ICIweEM2NTlGNDcxMkI2MEMyNUU4NkE5MjdFMEMwMTIxQzMwMTA3NUYyRDA3NTQ1MDYxNDBGOEI5ODEyQjVGREJBM0MiDQogICAgICAgIFNvdXJjZUZpbGVOYW1lOiBnaXQuZXhlDQogICAgICAgIFNvdXJjZUZpbGVMZW5ndGg6IDQ1MTA0DQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIEFjdGlvbjogQWxsb3cNCiAgICAgIC0gTmFtZTogQWxsb3cgc2lnbmVkIGdpdA0KICAgICAgICBEZXNjcmlwdGlvbjogQWxsb3cgYWxsIHVzZXJzIHRvIHJ1biBnaXQuZXhlIHRoYXQgd2FzIHNpZ25lZCBieSBhIHNwZWNpZmljIHB1Ymxpc2hlcg0KICAgICAgICBQdWJsaXNoZXJOYW1lOiBPPUpPSEFOTkVTIFNDSElOREVMSU4sIFM9Tk9SRFJIRUlOLVdFU1RGQUxFTiwgQz1ERQ0KICAgICAgICBQcm9kdWN0TmFtZTogR0lUDQogICAgICAgIEJpbmFyeU5hbWU6IEdJVC5FWEUNCiAgICAgICAgQmluYXJ5VmVyc2lvblJhbmdlOg0KICAgICAgICAgIExvd1NlY3Rpb246IDIuNDAuMS4xDQogICAgICAgICAgSGlnaFNlY3Rpb246IDIuNDAuMS4xDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIEFjdGlvbjogQWxsb3cNCgEJ/AAAAAn9AAAABv4AAAAHR2l0LnltbAb/AAAAHmNvbmZpZ3VyYXRpb25kYXRhXEFwcHNcR2l0LnltbAkgAAAACQEBAAAJAgEAAAHiAAAAGgAAAAYDAQAApg5Db25maWd1cmF0aW9uczoNCiAgLSBSdWxlQ29sbGVjdGlvbnMNCg0KUnVsZUNvbGxlY3Rpb25zOg0KICBNc2k6DQogICAgRW5mb3JjZW1lbnRNb2RlOiBBdWRpdE9ubHkNCiAgICBSdWxlczoNCiAgICAgIC0gTmFtZTogQWxsb3cgRExMcyAoQWRtaW4pDQogICAgICAgIERlc2NyaXB0aW9uOiBBbGxvd3MgbWVtYmVycyBvZiB0aGUgbG9jYWwgQWRtaW5pc3RyYXRvcnMgZ3JvdXAgdG8gbG9hZCBhbGwgRExMcy4NCiAgICAgICAgUGF0aDogIioiDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtNS0zMi01NDQNCiAgICAgICAgQWN0aW9uOiBBbGxvdw0KICBEbGw6DQogICAgRW5mb3JjZW1lbnRNb2RlOiBBdWRpdE9ubHkNCiAgICBSdWxlczoNCiAgICAgIC0gTmFtZTogQWxsb3cgbXNpIGluIENDTUNhY2hlIChFdmVyeW9uZSkNCiAgICAgICAgRGVzY3JpcHRpb246IEFsbG93cyBldmVyeW9uZSB0byBydW4gaW5zdGFsbGVyIGZpbGVzIGluIHRoZSBTQ0NNIGNhY2hlLg0KICAgICAgICBQYXRoOiAnJVdJTkRJUiVcY2NtY2FjaGVcKicNCiAgICAgICAgVXNlck9yR3JvdXBTaWQ6IFMtMS0xLTANCiAgICAgICAgQWN0aW9uOiBBbGxvdw0KICAgICAgLSBOYW1lOiBBbGxvdyBETExzIChFdmVyeW9uZSBXaW5kaXIpDQogICAgICAgIERlc2NyaXB0aW9uOiBBbGxvd3MgRXZlcnlvbmUgdG8gbG9hZCBETExzIGxvY2F0ZWQgaW4gdGhlIFdpbmRvd3MgZm9sZGVyLg0KICAgICAgICBQYXRoOiAnJVdJTkRJUiVcKicNCiAgICAgICAgVXNlck9yR3JvdXBTaWQ6IFMtMS0xLTANCiAgICAgICAgQWN0aW9uOiBBbGxvdw0KICAgICAgICBFeGNlcHRpb25zOg0KICAgICAgICAgIC0gJyVXSU5ESVIlXFNvbWVGb2xkZXInDQogICAgICAgICAgLSAnJVdJTkRJUiVcQW5vdGhlckZvbGRlcicNCiAgICAgIC0gTmFtZTogQWxsb3cgRExMcyAoRXZlcnlvbmUgV2luZGlyKQ0KICAgICAgICBEZXNjcmlwdGlvbjogQWxsb3dzIEV2ZXJ5b25lIHRvIGxvYWQgRExMcyBsb2NhdGVkIGluIHRoZSBQcm9ncmFtIEZpbGVzIGZvbGRlci4NCiAgICAgICAgUGF0aDogJyVQUk9HUkFNRklMRVMlXConDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIEFjdGlvbjogQWxsb3cNCiAgICAgIC0gTmFtZTogUHJvaGliaXQgUG93ZXJTaGVsbCAyDQogICAgICAgIERlc2NyaXB0aW9uOiBFeHBsaWNpdGx5IGRlbnkgc2lnbmVkIERMTHMgbmVlZGVkIGZvciBQb3dlclNoZWxsIHYyDQogICAgICAgIEFjdGlvbjogRGVueQ0KICAgICAgICBVc2VyT3JHcm91cFNpZDogUy0xLTEtMA0KICAgICAgICBQdWJsaXNoZXJOYW1lOiBPPU1JQ1JPU09GVCBDT1JQT1JBVElPTiwgTD1SRURNT05ELCBTPVdBU0hJTkdUT04sIEM9VVMNCiAgICAgICAgUHJvZHVjdE5hbWU6IE1JQ1JPU09GVCAoUikgV0lORE9XUyAoUikgT1BFUkFUSU5HIFNZU1RFTQ0KICAgICAgICBCaW5hcnlOYW1lOiBTWVNURU0uTUFOQUdFTUVOVC5BVVRPTUFUSU9OLkRMTA0KICAgICAgICBCaW5hcnlWZXJzaW9uUmFuZ2U6DQogICAgICAgICAgTG93U2VjdGlvbjogIioiDQogICAgICAgICAgSGlnaFNlY3Rpb246IDkuOS45LjkNCiAgICAgIC0gTmFtZTogUHJvaGliaXQgUG93ZXJTaGVsbCAyIHVuc2lnbmVkIEpJVA0KICAgICAgICBEZXNjcmlwdGlvbjogRXhwbGljaXRseSBkZW55IHNpZ25lZCBETExzIG5lZWRlZCBmb3IgUG93ZXJTaGVsbCB2Mg0KICAgICAgICBBY3Rpb246IERlbnkNCiAgICAgICAgVXNlck9yR3JvdXBTaWQ6IFMtMS0xLTANCiAgICAgICAgUGF0aDogJyVXSU5ESVIlXGFzc2VtYmx5XE5hdGl2ZUltYWdlc192Mi4wLjUwNzI3XzMyXFN5c3RlbS5NYW5hZ2VtZW50LkEjXConDQoBCQQBAAAJBQEAAAYGAQAAEsO+ZG9tYWluZnFkbsO+LnltbAYHAQAALGNvbmZpZ3VyYXRpb25kYXRhXERvbWFpbnNcw75kb21haW5mcWRuw74ueW1sCSAAAAAJCQEAAAkKAQAAAeMAAAAaAAAABgsBAAC8BkNvbmZpZ3VyYXRpb25zOg0KICAtIFJ1bGVDb2xsZWN0aW9ucw0KDQpSdWxlQ29sbGVjdGlvbnM6DQogIERsbDoNCiAgICBFbmZvcmNlbWVudE1vZGU6IEF1ZGl0T25seQ0KICAgIFJ1bGVzOg0KICAgICAgLSBOYW1lOiBQcm9oaWJpdCBQb3dlclNoZWxsIDINCiAgICAgICAgRGVzY3JpcHRpb246IEV4cGxpY2l0bHkgZGVueSBzaWduZWQgRExMcyBuZWVkZWQgZm9yIFBvd2VyU2hlbGwgdjINCiAgICAgICAgQWN0aW9uOiBEZW55DQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIFB1Ymxpc2hlck5hbWU6IE89TUlDUk9TT0ZUIENPUlBPUkFUSU9OLCBMPVJFRE1PTkQsIFM9V0FTSElOR1RPTiwgQz1VUw0KICAgICAgICBQcm9kdWN0TmFtZTogTUlDUk9TT0ZUIChSKSBXSU5ET1dTIChSKSBPUEVSQVRJTkcgU1lTVEVNDQogICAgICAgIEJpbmFyeU5hbWU6IFNZU1RFTS5NQU5BR0VNRU5ULkFVVE9NQVRJT04uRExMDQogICAgICAgIEJpbmFyeVZlcnNpb25SYW5nZToNCiAgICAgICAgICBMb3dTZWN0aW9uOiAiKiINCiAgICAgICAgICBIaWdoU2VjdGlvbjogOS45LjkuOQ0KICAgICAgLSBOYW1lOiBQcm9oaWJpdCBQb3dlclNoZWxsIDIgdW5zaWduZWQgSklUDQogICAgICAgIFVzZXJPckdyb3VwU2lkOiBTLTEtMS0wDQogICAgICAgIERlc2NyaXB0aW9uOiBFeHBsaWNpdGx5IGRlbnkgc2lnbmVkIERMTHMgbmVlZGVkIGZvciBQb3dlclNoZWxsIHYyDQogICAgICAgIEFjdGlvbjogRGVueQ0KICAgICAgICBQYXRoOiAnJVdJTkRJUiVcYXNzZW1ibHlcTmF0aXZlSW1hZ2VzX3YyLjAuNTA3MjdfMzJcU3lzdGVtLk1hbmFnZW1lbnQuQSNcKicNCgEJDAEAAAkNAQAABg4BAAALV2luZG93cy55bWwGDwEAACZjb25maWd1cmF0aW9uZGF0YVxHZW5lcmljc1xXaW5kb3dzLnltbAkgAAAACREBAAAJEgEAAAHkAAAAFgAAAAkTAQAABhQBAAAOw75kb21haW5mcWRuw74GFQEAACljb25maWd1cmF0aW9uZGF0YVxQb2xpY2llc1zDvmRvbWFpbmZxZG7DvgkgAAAACRcBAAAJGAEAAAHlAAAAGgAAAAYZAQAArQdCZWZvcmVEaXNjb3Zlcnkgew0KICAgICR5YW1sRmlsZXMgPSBHZXQtQ2hpbGRJdGVtIC1QYXRoICIkZ2xvYmFsOnRlc3Ryb290XC4uXGNvbmZpZ3VyYXRpb25kYXRhIiAtRmlsdGVyICoueW0qbCAtUmVjdXJzZSAtRmlsZSB8IEZvcmVhY2gtT2JqZWN0IHsgDQogICAgICAgIEB7DQogICAgICAgICAgICBGdWxsTmFtZSA9ICRfLkZ1bGxOYW1lDQogICAgICAgICAgICBCYXNlTmFtZSA9ICRfLkJhc2VOYW1lDQogICAgICAgICAgICBOYW1lICAgICA9ICRfLk5hbWUgDQogICAgICAgIH0gDQogICAgfQ0KfQ0KDQpEZXNjcmliZSAiWUFNTCBmaWxlIGludGVncml0eSIgew0KICAgIEl0ICI8TmFtZT4gQ29udmVydCBmcm9tIFlBTUwgd2l0aG91dCBlcnJvcnMiIC1UZXN0Q2FzZXMgJHlhbWxGaWxlcyB7DQogICAgICAgIHsgR2V0LUNvbnRlbnQgLVJhdyAtUGF0aCAkRnVsbE5hbWUgfCBDb252ZXJ0RnJvbS1ZYW1sIC1FcnJvckFjdGlvbiBTdG9wIH0gfCBTaG91bGQgLU5vdCAtVGhyb3cNCiAgICB9DQoNCiAgICBJdCAiPE5hbWU+IENvbnRhaW5zIG9ubHkgdmFsaWQgcnVsZSB0eXBlcyIgLVRlc3RDYXNlcyAkeWFtbEZpbGVzIHsNCiAgICAgICAgJHR5cGVzID0gJ0RsbCcsICdFeGUnLCAnTXNpJywgJ1NjcmlwdCcsICdBcHB4Jw0KDQogICAgICAgICRjb250ZW50ID0gR2V0LUNvbnRlbnQgLVJhdyAtUGF0aCAkRnVsbE5hbWUgfCBDb252ZXJ0RnJvbS1ZYW1sIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlDQoNCiAgICAgICAgaWYgKC1ub3QgJGNvbnRlbnQuQ29udGFpbnNLZXkoJ1J1bGVDb2xsZWN0aW9ucycpKQ0KICAgICAgICB7DQogICAgICAgICAgICByZXR1cm4NCiAgICAgICAgfQ0KDQogICAgICAgICRjb250ZW50LlJ1bGVDb2xsZWN0aW9ucy5LZXlzIHwgRm9yZWFjaC1PYmplY3QgeyAkXyB8IFNob3VsZCAtQmVJbiAkdHlwZXMgfQ0KICAgIH0NCn0NCgEJGgEAAAkbAQAABhwBAAAXRmlsZUludGVncml0eS50ZXN0cy5wczEGHQEAAC90ZXN0c1xDb25maWd1cmF0aW9uRGF0YVxGaWxlSW50ZWdyaXR5LnRlc3RzLnBzMQkgAAAACR8BAAAJIAEAAAHmAAAAGgAAAAYhAQAA7wEjIENvbmZpZ3VyYXRpb24gRGF0YSBUZXN0cw0KDQpUaGVzZSB0ZXN0cyBhcmUgYSBiaXQgc3BlY2lhbCwgYXMgdGhleSBkb24ndCByZWFsbHkgZml0IGludG8gdW5pdCBvciBpbnRlZ3JhdGlvbi4gVGhlc2UNCnRlc3RzIGFyZSBzdXBwb3NlZCB0byBlbnN1cmUgdGhlIHZhbGlkaXRpdHkgb2YgeW91ciBjb25maWd1cmF0aW9uIGRhdGEgdGhhdCBpbiB0aGUNCmVuZCBtYWtlIHVwIHlvdXIgcG9saWN5IGRlZmluaXRpb25zLgEJIgEAAAkjAQAABiQBAAAJcmVhZG1lLm1kBiUBAAAhdGVzdHNcQ29uZmlndXJhdGlvbkRhdGFccmVhZG1lLm1kCSAAAAAJJwEAAAkoAQAAAecAAAAaAAAABikBAADzA0JlZm9yZURpc2NvdmVyeSB7DQogICAgaWYgKEdldC1EYXR1bVJzb3BDYWNoZSkNCiAgICB7DQogICAgICAgIENsZWFyLURhdHVtUnNvcENhY2hlDQogICAgfQ0KDQogICAgJGRhdHVtID0gTmV3LURhdHVtU3RydWN0dXJlIC1EZWZpbml0aW9uRmlsZSAoSm9pbi1QYXRoICIkZ2xvYmFsOnRlc3Ryb290XC4uXGNvbmZpZ3VyYXRpb25kYXRhIiBEYXR1bS55bWwpDQogICAgW2hhc2h0YWJsZVtdXSAkcnNvcHMgPSAoR2V0LURhdHVtUnNvcCAkZGF0dW0gKEdldC1EYXR1bU5vZGVzUmVjdXJzaXZlIC1BbGxEYXR1bU5vZGVzICREYXR1bS5BbGxOb2RlcykpLlJ1bGVDb2xsZWN0aW9ucy5WYWx1ZXMuUnVsZXMNCn0NCg0KRGVzY3JpYmUgIlJTT1AgY29ycmVjdG5lc3MiIHsNCiAgICBJdCAiPE5hbWU+IFBvbGljeSBydWxlIGhhcyBTSUQiIC1UZXN0Q2FzZXMgJHJzb3BzIHsNCiAgICAgICAgJFVzZXJPckdyb3VwU2lkIHwgU2hvdWxkIC1Ob3QgLUJlTnVsbE9yRW1wdHkNCiAgICB9DQp9DQoBCSoBAAAJKwEAAAYsAQAADlJzb3AudGVzdHMucHMxBi0BAAAmdGVzdHNcQ29uZmlndXJhdGlvbkRhdGFcUnNvcC50ZXN0cy5wczEJIAAAAAkvAQAACTABAAAB6AAAABoAAAAGMQEAAOIIQmVmb3JlRGlzY292ZXJ5IHsNCiAgICBpZiAoR2V0LURhdHVtUnNvcENhY2hlKQ0KICAgIHsNCiAgICAgICAgQ2xlYXItRGF0dW1Sc29wQ2FjaGUNCiAgICB9DQoNCiAgICAkcG9saWNpZXMgPSBmb3JlYWNoICgkZmlsZSBpbiAoR2V0LUNoaWxkSXRlbSAtUGF0aCAoUmVzb2x2ZS1QYXRoICIkZ2xvYmFsOnRlc3Ryb290XC4uXGNvbmZpZ3VyYXRpb25kYXRhXFBvbGljaWVzIikuUGF0aCAtUmVjdXJzZSAtRmlsdGVyICoueSptbCAtRmlsZSkpDQogICAgew0KICAgICAgICBAew0KICAgICAgICAgICAgTmFtZSAgID0gJGZpbGUuQmFzZU5hbWUNCiAgICAgICAgICAgIERvbWFpbiA9ICRmaWxlLkRpcmVjdG9yeS5OYW1lDQogICAgICAgIH0NCiAgICB9DQp9DQoNCkRlc2NyaWJlICJQb2xpY3kgZXhpc3RzIiB7DQogICAgSXQgIjxOYW1lPiBQb2xpY3kgZXhpc3RzIGluIDxEb21haW4+IiAtVGVzdENhc2VzICRwb2xpY2llcyB7DQogICAgICAgICRncG8gPSBHZXQtR1BPIC1OYW1lICROYW1lIC1Eb21haW4gJERvbWFpbg0KICAgICAgICAkY3R4ID0gW1N5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcy5BY3RpdmVEaXJlY3RvcnkuRGlyZWN0b3J5Q29udGV4dF06Om5ldygnRG9tYWluJywgJERvbWFpbikNCiAgICAgICAgJGRvbWFpbiA9IFtTeXN0ZW0uRGlyZWN0b3J5U2VydmljZXMuQWN0aXZlRGlyZWN0b3J5LkRvbWFpbl06OkdldERvbWFpbigkY3R4KQ0KICAgICAgICAkZG9tYWluRG4gPSAkZG9tYWluLkdldERpcmVjdG9yeUVudHJ5KCkuRGlzdGluZ3Vpc2hlZE5hbWUNCiAgICAgICAgJGFwcExvY2tlckdwbyA9IHRyeQ0KICAgICAgICB7DQogICAgICAgICAgICBHZXQtQXBwTG9ja2VyUG9saWN5IC1Eb21haW4gLUxkYXAgIkxEQVA6Ly9DTj17JCgkZ3BvLklkKX0sQ049UG9saWNpZXMsQ049U3lzdGVtLCRkb21haW5EbiIgLUVycm9yQWN0aW9uIFN0b3ANCiAgICAgICAgfQ0KICAgICAgICBjYXRjaCB7fSAjIFN1cHByZXNzIGV4Y2VwdGlvbiBmcm9tIG1pc2JlaGF2aW5nIGNtZGxldCB0aGF0IGRvZXMgbm90IGxpa2UgU2lsZW50bHlDb250aW51ZQ0KICAgICAgICAkYXBwTG9ja2VyR3BvLlJ1bGVDb2xsZWN0aW9ucyB8IFNob3VsZCAtTm90IC1CZU51bGxPckVtcHR5DQogICAgfQ0KfQ0KAQkyAQAACTMBAAAGNAEAABNHcG9FeGlzdHMudGVzdHMucHMxBjUBAAAldGVzdHNcSW50ZWdyYXRpb25cR3BvRXhpc3RzLnRlc3RzLnBzMQkgAAAACTcBAAAJOAEAAAHpAAAAGgAAAAY5AQAApgEjIEludGVncmF0aW9uIGFuZCBRQSB0ZXN0cw0KDQpQdXQgeW91ciB0ZXN0IHNjcmlwdHMgaGVyZSB0aGF0IHRlc3QgaW4gYSB0ZXN0IGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwNCnRoaXMgY291bGQgaW5jbHVkZSBsaW5raW5nIGFuZCB2YWxpZGF0aW5n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</BA> </MS> </Obj> </Objs> |