@discordeno/types 19.0.0-next.9cca689 → 19.0.0-next.9cea65f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,9 @@ _export(exports, {
42
42
  DiscordInteractionContextType: function() {
43
43
  return DiscordInteractionContextType;
44
44
  },
45
+ DiscordInviteType: function() {
46
+ return DiscordInviteType;
47
+ },
45
48
  DiscordMessageFlag: function() {
46
49
  return DiscordMessageFlag;
47
50
  },
@@ -223,6 +226,12 @@ var AutoModerationActionType;
223
226
  /** Logs user content to a specified channel */ AutoModerationActionType[AutoModerationActionType["SendAlertMessage"] = 2] = "SendAlertMessage";
224
227
  /** Times out user for specified duration */ AutoModerationActionType[AutoModerationActionType["Timeout"] = 3] = "Timeout";
225
228
  })(AutoModerationActionType || (AutoModerationActionType = {}));
229
+ var DiscordInviteType;
230
+ (function(DiscordInviteType) {
231
+ DiscordInviteType[DiscordInviteType["Guild"] = 0] = "Guild";
232
+ DiscordInviteType[DiscordInviteType["GroupDm"] = 1] = "GroupDm";
233
+ DiscordInviteType[DiscordInviteType["Friend"] = 2] = "Friend";
234
+ })(DiscordInviteType || (DiscordInviteType = {}));
226
235
  var DiscordGuildOnboardingPromptType;
227
236
  (function(DiscordGuildOnboardingPromptType) {
228
237
  DiscordGuildOnboardingPromptType[DiscordGuildOnboardingPromptType["MultipleChoice"] = 0] = "MultipleChoice";
@@ -289,4 +298,4 @@ var DiscordInteractionContextType;
289
298
  /** Interaction can be used within Group DMs and DMs other than the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["PrivateChannel"] = 2] = "PrivateChannel";
290
299
  })(DiscordInteractionContextType || (DiscordInteractionContextType = {}));
291
300
 
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWN0aXZpdHlUeXBlcyxcbiAgQWxsb3dlZE1lbnRpb25zVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICBBcHBsaWNhdGlvbkZsYWdzLFxuICBBdHRhY2htZW50RmxhZ3MsXG4gIEF1ZGl0TG9nRXZlbnRzLFxuICBCdXR0b25TdHlsZXMsXG4gIENoYW5uZWxGbGFncyxcbiAgQ2hhbm5lbFR5cGVzLFxuICBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVscyxcbiAgRW1iZWRUeXBlcyxcbiAgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICBGb3J1bUxheW91dCxcbiAgR2F0ZXdheUV2ZW50TmFtZXMsXG4gIEd1aWxkRmVhdHVyZXMsXG4gIEd1aWxkTnNmd0xldmVsLFxuICBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9ycyxcbiAgSW50ZXJhY3Rpb25UeXBlcyxcbiAgTG9jYWxpemF0aW9uLFxuICBNZXNzYWdlQWN0aXZpdHlUeXBlcyxcbiAgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxuICBNZXNzYWdlVHlwZXMsXG4gIE1mYUxldmVscyxcbiAgT3ZlcndyaXRlVHlwZXMsXG4gIFBpY2tQYXJ0aWFsLFxuICBQcmVtaXVtVGllcnMsXG4gIFByZW1pdW1UeXBlcyxcbiAgUm9sZUZsYWdzLFxuICBTY2hlZHVsZWRFdmVudEVudGl0eVR5cGUsXG4gIFNjaGVkdWxlZEV2ZW50UHJpdmFjeUxldmVsLFxuICBTY2hlZHVsZWRFdmVudFN0YXR1cyxcbiAgU29ydE9yZGVyVHlwZXMsXG4gIFN0aWNrZXJGb3JtYXRUeXBlcyxcbiAgU3RpY2tlclR5cGVzLFxuICBTeXN0ZW1DaGFubmVsRmxhZ3MsXG4gIFRhcmdldFR5cGVzLFxuICBUZWFtTWVtYmVyc2hpcFN0YXRlcyxcbiAgVGV4dFN0eWxlcyxcbiAgVmVyaWZpY2F0aW9uTGV2ZWxzLFxuICBWaWRlb1F1YWxpdHlNb2RlcyxcbiAgV2ViaG9va1R5cGVzLFxufSBmcm9tICcuL3NoYXJlZC5qcydcblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI3VzZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVc2VyIHtcbiAgLyoqIFRoZSB1c2VyJ3MgdXNlcm5hbWUsIG5vdCB1bmlxdWUgYWNyb3NzIHRoZSBwbGF0Zm9ybSAqL1xuICB1c2VybmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGRpc3BsYXkgbmFtZSwgaWYgaXQgaXMgc2V0LiBGb3IgYm90cywgdGhpcyBpcyB0aGUgYXBwbGljYXRpb24gbmFtZSAqL1xuICBnbG9iYWxfbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIncyBjaG9zZW4gbGFuZ3VhZ2Ugb3B0aW9uICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgZmxhZ3M/OiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIE5pdHJvIHN1YnNjcmlwdGlvbiBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIHByZW1pdW1fdHlwZT86IFByZW1pdW1UeXBlc1xuICAvKiogVGhlIHB1YmxpYyBmbGFncyBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIHB1YmxpY19mbGFncz86IG51bWJlclxuICAvKiogdGhlIHVzZXIncyBiYW5uZXIgY29sb3IgZW5jb2RlZCBhcyBhbiBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uIG9mIGhleGFkZWNpbWFsIGNvbG9yIGNvZGUgKi9cbiAgYWNjZW50X2NvbG9yPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlcidzIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgZGlzY29yZC10YWcgKi9cbiAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGF2YXRhciBoYXNoICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGUgdXNlciBiZWxvbmdzIHRvIGFuIE9BdXRoMiBhcHBsaWNhdGlvbiAqL1xuICBib3Q/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGFuIE9mZmljaWFsIERpc2NvcmQgU3lzdGVtIHVzZXIgKHBhcnQgb2YgdGhlIHVyZ2VudCBtZXNzYWdlIHN5c3RlbSkgKi9cbiAgc3lzdGVtPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgdHdvIGZhY3RvciBlbmFibGVkIG9uIHRoZWlyIGFjY291bnQgKi9cbiAgbWZhX2VuYWJsZWQ/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSBlbWFpbCBvbiB0aGlzIGFjY291bnQgaGFzIGJlZW4gdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgdXNlcidzIGVtYWlsICovXG4gIGVtYWlsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHVzZXIncyBiYW5uZXIsIG9yIG51bGwgaWYgdW5zZXQgKi9cbiAgYmFubmVyPzogc3RyaW5nXG4gIC8qKiBkYXRhIGZvciB0aGUgdXNlcidzIGF2YXRhciBkZWNvcmF0aW9uICovXG4gIGF2YXRhcl9kZWNvcmF0aW9uX2RhdGE/OiBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGFcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc2hhcmVkLXJlc291cmNlcy1vYXV0aDItc2NvcGVzICovXG5leHBvcnQgZW51bSBPQXV0aDJTY29wZSB7XG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gZmV0Y2ggZGF0YSBmcm9tIGEgdXNlcidzIFwiTm93IFBsYXlpbmcvUmVjZW50bHkgUGxheWVkXCIgbGlzdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzXG4gICAqL1xuICBBY3Rpdml0aWVzUmVhZCA9ICdhY3Rpdml0aWVzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBhY3Rpdml0eVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzLlxuICAgKi9cbiAgQWN0aXZpdGllc1dyaXRlID0gJ2FjdGl2aXRpZXMud3JpdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHJlYWQgYnVpbGQgZGF0YSBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0J1aWxkc1JlYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byB1cGxvYWQvdXBkYXRlIGJ1aWxkcyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBBcHBsaWNhdGlvbnNCdWlsZHNVcGxvYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy51cGxvYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIGFkZCBjb21tYW5kcyB0byBhIGd1aWxkIC0gaW5jbHVkZWQgYnkgZGVmYXVsdCB3aXRoIHRoZSBgYm90YCBzY29wZSAqL1xuICBBcHBsaWNhdGlvbnNDb21tYW5kcyA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBpdHMgQXBwbGljYXRpb24gQ29tbWFuZHMgdmlhIHRoaXMgYmVhcmVyIHRva2VuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgY2FuIG9ubHkgYmUgdXNlZCB3aGVuIHVzaW5nIGEgW0NsaWVudCBDcmVkZW50aWFsIEdyYW50XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2NsaWVudC1jcmVkZW50aWFscy1ncmFudClcbiAgICovXG4gIEFwcGxpY2F0aW9uc0NvbW1hbmRzVXBkYXRlID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcy51cGRhdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBwZXJtaXNzaW9ucyBmb3IgaXRzIGNvbW1hbmRzIGluIGEgZ3VpbGQgYSB1c2VyIGhhcyBwZXJtaXNzaW9ucyB0byAqL1xuICBBcHBsaWNhdGlvbkNvbW1hbmRzUGVybWlzc2lvbnNVcGRhdGUgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzLnBlcm1pc3Npb25zLnVwZGF0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBlbnRpdGxlbWVudHMgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNFbnRpdGxlbWVudHMgPSAnYXBwbGljYXRpb25zLmVudGl0bGVtZW50cycsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBhbmQgdXBkYXRlIHN0b3JlIGRhdGEgKFNLVXMsIHN0b3JlIGxpc3RpbmdzLCBhY2hpZXZlbWVudHMsIGV0Yy4pIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnMgKi9cbiAgQXBwbGljYXRpb25zU3RvcmVVcGRhdGUgPSAnYXBwbGljYXRpb25zLnN0b3JlLnVwZGF0ZScsXG4gIC8qKiBGb3Igb2F1dGgyIGJvdHMsIHRoaXMgcHV0cyB0aGUgYm90IGluIHRoZSB1c2VyJ3Mgc2VsZWN0ZWQgZ3VpbGQgYnkgZGVmYXVsdCAqL1xuICBCb3QgPSAnYm90JyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9jb25uZWN0aW9uc10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LXVzZXItY29ubmVjdGlvbnMpICovXG4gIENvbm5lY3Rpb25zID0gJ2Nvbm5lY3Rpb25zJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBzZWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIncyBETXMgYW5kIGdyb3VwIERNc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgRE1DaGFubmVsc1JlYWQgPSAnZG1fY2hhbm5lbHMucmVhZCcsXG4gIC8qKiBBZGRzIHRoZSBgZW1haWxgIGZpbGVkIHRvIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKSAqL1xuICBFbWFpbCA9ICdlbWFpbCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gam9pbiB1c2VycyB0byBhIGdyb3VwIGRtICovXG4gIEdyb3VwRE1Kb2lucyA9ICdnZG0uam9pbicsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvZ3VpbGRzXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyLWd1aWxkcykgKi9cbiAgR3VpbGRzID0gJ2d1aWxkcycsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy9ndWlsZHMve2d1aWxkLmlkfS9tZW1iZXJzL3t1c2VyLmlkfV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2FkZC1ndWlsZC1tZW1iZXIpICovXG4gIEd1aWxkc0pvaW4gPSAnZ3VpbGRzLmpvaW4nLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2d1aWxkcy97Z3VpbGQuaWR9L21lbWJlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlci1ndWlsZC1tZW1iZXIpICovXG4gIEd1aWxkc01lbWJlcnNSZWFkID0gJ2d1aWxkcy5tZW1iZXJzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGUgcmV0dXJuIG9iamVjdCBmcm9tIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKVxuICAgKiBkb2VzIE5PVCBjb250YWluIHRoZSBgZW1haWxgIGZpZWxkIHVubGVzcyB0aGUgc2NvcGUgYGVtYWlsYCBpcyBhbHNvIHVzZWRcbiAgICovXG4gIElkZW50aWZ5ID0gJ2lkZW50aWZ5JyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFwaSBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byByZWFkIG1lc3NhZ2VzIGZyb20gYWxsIGNsaWVudCBjaGFubmVsc1xuICAgKiAob3RoZXJ3aXNlIHJlc3RyaWN0ZWQgdG8gY2hhbm5lbHMvZ3VpbGRzIHlvdXIgYXBwIGNyZWF0ZXMpXG4gICAqL1xuICBNZXNzYWdlc1JlYWQgPSAnbWVzc2FnZXMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8ga25vdyBhIHVzZXIncyBmcmllbmRzIGFuZCBpbXBsaWNpdCByZWxhdGlvbnNoaXBzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSZWxhdGlvbnNoaXBzUmVhZCA9ICdyZWxhdGlvbnNoaXBzLnJlYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBjb25uZWN0aW9uIGFuZCBtZXRhZGF0YSBmb3IgdGhlIGFwcCAqL1xuICBSb2xlQ29ubmVjdGlvbnNXcml0ZSA9ICdyb2xlX2Nvbm5lY3Rpb25zLndyaXRlJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIGNvbnRyb2wgYSB1c2VyJ3MgbG9jYWwgRGlzY29yZCBjbGllbnRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQyA9ICdycGMnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gdXBkYXRlIGEgdXNlcidzIGFjdGl2aXR5XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENBY3Rpdml0aWVzV3JpdGUgPSAncnBjLmFjdGl2aXRpZXMud3JpdGUnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYXBpIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlY2VpdmUgbm90aWZpY2F0aW9ucyBwdXNoZWQgb3V0IHRvIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENOb3RpZmljYXRpb25zUmVhZCA9ICdycGMubm90aWZpY2F0aW9ucy5yZWFkJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlYWQgYSB1c2VyJ3Mgdm9pY2Ugc2V0dGluZ3MgYW5kIGxpc3RlbiBmb3Igdm9pY2UgZXZlbnRzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENWb2ljZVJlYWQgPSAncnBjLnZvaWNlLnJlYWQnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gdXBkYXRlIGEgdXNlcidzIHZvaWNlIHNldHRpbmdzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENWb2ljZVdyaXRlID0gJ3JwYy52b2ljZS53cml0ZScsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gY29ubmVjdCB0byB2b2ljZSBvbiB1c2VyJ3MgYmVoYWxmIGFuZCBzZWUgYWxsIHRoZSB2b2ljZSBtZW1iZXJzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBWb2ljZSA9ICd2b2ljZScsXG4gIC8qKiBHZW5lcmF0ZSBhIHdlYmhvb2sgdGhhdCBpcyByZXR1cm5lZCBpbiB0aGUgb2F1dGggdG9rZW4gcmVzcG9uc2UgZm9yIGF1dGhvcml6YXRpb24gY29kZSBncmFudHMgKi9cbiAgV2ViaG9va0luY29taW5nID0gJ3dlYmhvb2suaW5jb21pbmcnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLW9iamVjdC1pbnRlZ3JhdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIEludGVncmF0aW9uIElkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEludGVncmF0aW9uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJbnRlZ3JhdGlvbiB0eXBlICh0d2l0Y2gsIHlvdXR1YmUsIGRpc2NvcmQsIG9yIGd1aWxkX3N1YnNjcmlwdGlvbikuICovXG4gIHR5cGU6ICd0d2l0Y2gnIHwgJ3lvdXR1YmUnIHwgJ2Rpc2NvcmQnXG4gIC8qKiBJcyB0aGlzIGludGVncmF0aW9uIGVuYWJsZWQgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIElzIHRoaXMgaW50ZWdyYXRpb24gc3luY2luZyAqL1xuICBzeW5jaW5nPzogYm9vbGVhblxuICAvKiogUm9sZSBJZCB0aGF0IHRoaXMgaW50ZWdyYXRpb24gdXNlcyBmb3IgXCJzdWJzY3JpYmVyc1wiICovXG4gIHJvbGVfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgZW1vdGljb25zIHNob3VsZCBiZSBzeW5jZWQgZm9yIHRoaXMgaW50ZWdyYXRpb24gKHR3aXRjaCBvbmx5IGN1cnJlbnRseSkgKi9cbiAgZW5hYmxlX2Vtb3RpY29ucz86IGJvb2xlYW5cbiAgLyoqIFRoZSBiZWhhdmlvciBvZiBleHBpcmluZyBzdWJzY3JpYmVycyAqL1xuICBleHBpcmVfYmVoYXZpb3I/OiBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9yc1xuICAvKiogVGhlIGdyYWNlIHBlcmlvZCAoaW4gZGF5cykgYmVmb3JlIGV4cGlyaW5nIHN1YnNjcmliZXJzICovXG4gIGV4cGlyZV9ncmFjZV9wZXJpb2Q/OiBudW1iZXJcbiAgLyoqIFdoZW4gdGhpcyBpbnRlZ3JhdGlvbiB3YXMgbGFzdCBzeW5jZWQgKi9cbiAgc3luY2VkX2F0Pzogc3RyaW5nXG4gIC8qKiBIb3cgbWFueSBzdWJzY3JpYmVycyB0aGlzIGludGVncmF0aW9uIGhhcyAqL1xuICBzdWJzY3JpYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBIYXMgdGhpcyBpbnRlZ3JhdGlvbiBiZWVuIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIFVzZXIgZm9yIHRoaXMgaW50ZWdyYXRpb24gKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBJbnRlZ3JhdGlvbiBhY2NvdW50IGluZm9ybWF0aW9uICovXG4gIGFjY291bnQ6IERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnRcbiAgLyoqIFRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIGZvciBkaXNjb3JkIGludGVncmF0aW9ucyAqL1xuICBhcHBsaWNhdGlvbj86IERpc2NvcmRJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uXG4gIC8qKiB0aGUgc2NvcGVzIHRoZSBhcHBsaWNhdGlvbiBoYXMgYmVlbiBhdXRob3JpemVkIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1hY2NvdW50LW9iamVjdC1pbnRlZ3JhdGlvbi1hY2NvdW50LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25BY2NvdW50IHtcbiAgLyoqIElkIG9mIHRoZSBhY2NvdW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIGFjY291bnQgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tYXBwbGljYXRpb24tb2JqZWN0LWludGVncmF0aW9uLWFwcGxpY2F0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgYXBwICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXBwICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIFRoZSBib3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXBwbGljYXRpb24gKi9cbiAgYm90PzogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZ2l0aHViLmNvbS9kaXNjb3JkL2Rpc2NvcmQtYXBpLWRvY3MvYmxvYi9tYXN0ZXIvZG9jcy90b3BpY3MvR2F0ZXdheS5tZCNpbnRlZ3JhdGlvbi1jcmVhdGUtZXZlbnQtYWRkaXRpb25hbC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIGV4dGVuZHMgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2dpdGh1Yi5jb20vZGlzY29yZC9kaXNjb3JkLWFwaS1kb2NzL2Jsb2IvbWFzdGVyL2RvY3MvdG9waWNzL0dhdGV3YXkubWQjaW50ZWdyYXRpb24tZGVsZXRlLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25EZWxldGUge1xuICAvKiogSW50ZWdyYXRpb24gaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIGZvciB0aGlzIGRpc2NvcmQgaW50ZWdyYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLWludGVncmF0aW9ucy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkSW50ZWdyYXRpb25zVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCB3aG9zZSBpbnRlZ3JhdGlvbnMgd2VyZSB1cGRhdGVkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3R5cGluZy1zdGFydCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVHlwaW5nU3RhcnQge1xuICAvKiogVW5peCB0aW1lIChpbiBzZWNvbmRzKSBvZiB3aGVuIHRoZSB1c2VyIHN0YXJ0ZWQgdHlwaW5nICovXG4gIHRpbWVzdGFtcDogbnVtYmVyXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVyIHdobyBzdGFydGVkIHR5cGluZyBpZiB0aGlzIGhhcHBlbmVkIGluIGEgZ3VpbGQgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW1lbWJlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGRlYWZlbmVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIGRlYWY/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZz86IGJvb2xlYW5cbiAgLyoqIFRoZSB1c2VyIHRoaXMgZ3VpbGQgbWVtYmVyIHJlcHJlc2VudHMgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGlzIHVzZXJzIGd1aWxkIG5pY2tuYW1lICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbWVtYmVycyBjdXN0b20gYXZhdGFyIGZvciB0aGlzIHNlcnZlci4gKi9cbiAgYXZhdGFyPzogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiByb2xlIG9iamVjdCBpZHMgKi9cbiAgcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGpvaW5lZCB0aGUgZ3VpbGQgKi9cbiAgam9pbmVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgc3RhcnRlZCBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBwZXJtaXNzaW9ucyB0aGlzIG1lbWJlciBoYXMgaW4gdGhlIGd1aWxkLiBPbmx5IHByZXNlbnQgb24gaW50ZXJhY3Rpb24gZXZlbnRzIGFuZCBPQXV0aDIgY3VycmVudCBtZW1iZXIgZmV0Y2guICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgdGltZW91dCB3aWxsIGV4cGlyZSBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNvbW11bmljYXRlIGluIHRoZSBndWlsZCBhZ2FpbiAoc2V0IG51bGwgdG8gcmVtb3ZlIHRpbWVvdXQpLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0ICovXG4gIGNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBkYXRhIGZvciB0aGUgbWVtYmVyJ3MgZ3VpbGQgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2F2YXRhci1kZWNvcmF0aW9uLWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB7XG4gIC8qKiB0aGUgYXZhdGFyIGRlY29yYXRpb24gaGFzaCAqL1xuICBhc3NldDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgYXZhdGFyIGRlY29yYXRpb24ncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBBbiBhcnJheSBvZiBycGMgb3JpZ2luIHVybHMsIGlmIHJwYyBpcyBlbmFibGVkICovXG4gIHJwY19vcmlnaW5zPzogc3RyaW5nW11cbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHRlcm1zIG9mIHNlcnZpY2UgKi9cbiAgdGVybXNfb2Zfc2VydmljZV91cmw/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHByaXZhY3kgcG9saWN5ICovXG4gIHByaXZhY3lfcG9saWN5X3VybD86IHN0cmluZ1xuICAvKiogVGhlIGhleCBlbmNvZGVkIGtleSBmb3IgdmVyaWZpY2F0aW9uIGluIGludGVyYWN0aW9ucyBhbmQgdGhlIEdhbWVTREsncyBHZXRUaWNrZXQgKi9cbiAgdmVyaWZ5X2tleTogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgaWQgb2YgdGhlIFwiR2FtZSBTS1VcIiB0aGF0IGlzIGNyZWF0ZWQsIGlmIGV4aXN0cyAqL1xuICBwcmltYXJ5X3NrdV9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIFVSTCBzbHVnIHRoYXQgbGlua3MgdG8gdGhlIHN0b3JlIHBhZ2UgKi9cbiAgc2x1Zz86IHN0cmluZ1xuICAvKiogVGhlIGFwcGxpY2F0aW9uJ3MgcHVibGljIGZsYWdzICovXG4gIGZsYWdzPzogQXBwbGljYXRpb25GbGFnc1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gZmFsc2Ugb25seSBhcHAgb3duZXIgY2FuIGpvaW4gdGhlIGFwcCdzIGJvdCB0byBndWlsZHMgKi9cbiAgYm90X3B1YmxpYzogYm9vbGVhblxuICAvKiogV2hlbiB0cnVlIHRoZSBhcHAncyBib3Qgd2lsbCBvbmx5IGpvaW4gdXBvbiBjb21wbGV0aW9uIG9mIHRoZSBmdWxsIG9hdXRoMiBjb2RlIGdyYW50IGZsb3cgKi9cbiAgYm90X3JlcXVpcmVfY29kZV9ncmFudDogYm9vbGVhblxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBjb250YWluaW5nIGluZm8gb24gdGhlIG93bmVyIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBvd25lcj86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBJZiB0aGUgYXBwbGljYXRpb24gYmVsb25ncyB0byBhIHRlYW0sIHRoaXMgd2lsbCBiZSBhIGxpc3Qgb2YgdGhlIG1lbWJlcnMgb2YgdGhhdCB0ZWFtICovXG4gIHRlYW06IERpc2NvcmRUZWFtIHwgbnVsbFxuICAvKiogR3VpbGQgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHAuIEZvciBleGFtcGxlLCBhIGRldmVsb3BlciBzdXBwb3J0IHNlcnZlci4gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIEEgcGFydGlhbCBvYmplY3Qgb2YgdGhlIGFzc29jaWF0ZWQgZ3VpbGQgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIElmIHRoaXMgYXBwbGljYXRpb24gaXMgYSBnYW1lIHNvbGQgb24gRGlzY29yZCwgdGhpcyBmaWVsZCB3aWxsIGJlIHRoZSBoYXNoIG9mIHRoZSBpbWFnZSBvbiBzdG9yZSBlbWJlZHMgKi9cbiAgY292ZXJfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIHVwIHRvIDUgdGFncyBkZXNjcmliaW5nIHRoZSBjb250ZW50IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICB0YWdzPzogc3RyaW5nW11cbiAgLyoqIHNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGluLWFwcCBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xuICAvKipcbiAgICogRGVmYXVsdCBzY29wZXMgYW5kIHBlcm1pc3Npb25zIGZvciBlYWNoIHN1cHBvcnRlZCBpbnN0YWxsYXRpb24gY29udGV4dC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgaW4gcHJldmlldy5cbiAgICovXG4gIGludGVncmF0aW9uX3R5cGVzX2NvbmZpZz86IFBhcnRpYWw8UmVjb3JkPGAke0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZX1gLCBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVDb25maWd1cmF0aW9uPj5cbiAgLyoqIHRoZSBhcHBsaWNhdGlvbidzIGRlZmF1bHQgY3VzdG9tIGF1dGhvcml6YXRpb24gbGluaywgaWYgZW5hYmxlZCAqL1xuICBjdXN0b21faW5zdGFsbF91cmw/OiBzdHJpbmdcbiAgLyoqIHRoZSBhcHBsaWNhdGlvbidzIHJvbGUgY29ubmVjdGlvbiB2ZXJpZmljYXRpb24gZW50cnkgcG9pbnQsIHdoaWNoIHdoZW4gY29uZmlndXJlZCB3aWxsIHJlbmRlciB0aGUgYXBwIGFzIGEgdmVyaWZpY2F0aW9uIG1ldGhvZCBpbiB0aGUgZ3VpbGQgcm9sZSB2ZXJpZmljYXRpb24gY29uZmlndXJhdGlvbiAqL1xuICByb2xlX2Nvbm5lY3Rpb25zX3ZlcmlmaWNhdGlvbl91cmw/OiBzdHJpbmdcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHRoZSBhcHAncyBndWlsZCBtZW1iZXJzaGlwLiAqL1xuICBhcHByb3hpbWF0ZV9ndWlsZF9jb3VudD86IG51bWJlclxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBmb3IgdGhlIGJvdCB1c2VyIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXBwICovXG4gIGJvdD86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBBcnJheSBvZiByZWRpcmVjdCBVUklzIGZvciB0aGUgYXBwICovXG4gIHJlZGlyZWN0X3VyaXM/OiBzdHJpbmdbXVxuICAvKiogSW50ZXJhY3Rpb25zIGVuZHBvaW50IFVSTCBmb3IgdGhlIGFwcCAqL1xuICBpbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jYXBwbGljYXRpb24tb2JqZWN0LWFwcGxpY2F0aW9uLWludGVncmF0aW9uLXR5cGUtY29uZmlndXJhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBJbnN0YWxsIHBhcmFtcyBmb3IgZWFjaCBpbnN0YWxsYXRpb24gY29udGV4dCdzIGRlZmF1bHQgaW4tYXBwIGF1dGhvcml6YXRpb24gbGlua1xuICAgKlxuICAgKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jaW5zdGFsbC1wYXJhbXMtb2JqZWN0LWluc3RhbGwtcGFyYW1zLXN0cnVjdHVyZVxuICAgKi9cbiAgb2F1dGgyX2luc3RhbGxfcGFyYW1zPzoge1xuICAgIC8qKiBTY29wZXMgdG8gYWRkIHRoZSBhcHBsaWNhdGlvbiB0byB0aGUgc2VydmVyIHdpdGggKi9cbiAgICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgICAvKiogUGVybWlzc2lvbnMgdG8gcmVxdWVzdCBmb3IgdGhlIGJvdCByb2xlICovXG4gICAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSB7XG4gIC8qKiBBcHAgaXMgaW5zdGFsbGFibGUgdG8gc2VydmVycyAqL1xuICBHdWlsZEluc3RhbGwgPSAwLFxuICAvKiogQXBwIGlzIGluc3RhbGxhYmxlIHRvIHVzZXJzICovXG4gIFVzZXJJbnN0YWxsID0gMSxcbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZFRva2VuRXhjaGFuZ2UgPSBEaXNjb3JkVG9rZW5FeGNoYW5nZUF1dGhvcml6YXRpb25Db2RlIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4gfCBEaXNjb3JkVG9rZW5FeGNoYW5nZUNsaWVudENyZWRlbnRpYWxzXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB7XG4gIGdyYW50X3R5cGU6ICdhdXRob3JpemF0aW9uX2NvZGUnXG4gIC8qKiBUaGUgY29kZSBmb3IgdGhlIHRva2VuIGV4Y2hhbmdlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHJlZGlyZWN0X3VyaSBhc3NvY2lhdGVkIHdpdGggdGhpcyBhdXRob3JpemF0aW9uICovXG4gIHJlZGlyZWN0X3VyaTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2NsaWVudC1jcmVkZW50aWFscy1ncmFudCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVG9rZW5FeGNoYW5nZVJlZnJlc2hUb2tlbiB7XG4gIGdyYW50X3R5cGU6ICdyZWZyZXNoX3Rva2VuJ1xuICAvKiogdGhlIHVzZXIncyByZWZyZXNoIHRva2VuICovXG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFscyB7XG4gIGdyYW50X3R5cGU6ICdjbGllbnRfY3JlZGVudGlhbHMnXG4gIC8qKiBUaGUgc2NvcGUocykgZm9yIHRoZSBhY2Nlc3MgdG9rZW4gKi9cbiAgc2NvcGU6IE9BdXRoMlNjb3BlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWNjZXNzVG9rZW5SZXNwb25zZSB7XG4gIC8qKiBUaGUgYWNjZXNzIHRva2VuIG9mIHRoZSB1c2VyICovXG4gIGFjY2Vzc190b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiB0b2tlbiAqL1xuICB0b2tlbl90eXBlOiBzdHJpbmdcbiAgLyoqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB0aGF0IHRoZSBhY2Nlc3MgdG9rZW4gaXMgZXhwaXJlZCAqL1xuICBleHBpcmVzX2luOiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSByZWZyZXNoIHRva2VuIHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIHRoZSB0b2tlbiBleGNoYW5nZSBpcyBhIGNsaWVudCBjcmVkZW50aWFscyB0eXBlIGdyYW50IHRoaXMgdmFsdWUgaXMgbm90IGRlZmluZWQuXG4gICAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhY2Nlc3MgdG9rZW4gKi9cbiAgc2NvcGU6IHN0cmluZ1xuICAvKiogVGhlIHdlYmhvb2sgdGhlIHVzZXIgY3JlYXRlZCBmb3IgdGhlIGFwcGxpY2F0aW9uLiBSZXF1aXJlcyB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlICovXG4gIHdlYmhvb2s/OiBEaXNjb3JkSW5jb21pbmdXZWJob29rXG4gIC8qKiBUaGUgZ3VpbGQgdGhlIGJvdCBoYXMgYmVlbiBhZGRlZC4gUmVxdWlyZXMgdGhlIGBib3RgIHNjb3BlICovXG4gIGd1aWxkPzogRGlzY29yZEd1aWxkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuUmV2b2NhdGlvbiB7XG4gIC8qKiBUaGUgYWNjZXNzIHRva2VuIHRvIHJldm9rZSAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBPcHRpb25hbCwgdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZyBmb3IgdGhlIHJldm9jYXRpb24gKi9cbiAgdG9rZW5fdHlwZV9oaW50PzogJ2FjY2Vzc190b2tlbicgfCAncmVmcmVzaF90b2tlbidcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjZ2V0LWN1cnJlbnQtYXV0aG9yaXphdGlvbi1pbmZvcm1hdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uIHtcbiAgYXBwbGljYXRpb246IERpc2NvcmRBcHBsaWNhdGlvblxuICAvKiogdGhlIHNjb3BlcyB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB0aGUgYXBwbGljYXRpb24gZm9yICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxuICAvKiogd2hlbiB0aGUgYWNjZXNzIHRva2VuIGV4cGlyZXMgKi9cbiAgZXhwaXJlczogc3RyaW5nXG4gIC8qKiB0aGUgdXNlciB3aG8gaGFzIGF1dGhvcml6ZWQsIGlmIHRoZSB1c2VyIGhhcyBhdXRob3JpemVkIHdpdGggdGhlIGBpZGVudGlmeWAgc2NvcGUgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC1jb25uZWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ29ubmVjdGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY29ubmVjdGlvbiBhY2NvdW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSB1c2VybmFtZSBvZiB0aGUgY29ubmVjdGlvbiBhY2NvdW50ICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIHNlcnZpY2Ugb2YgdGhpcyBjb25uZWN0aW9uICovXG4gIHR5cGU6IERpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGVcbiAgLyoqIHdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgcmV2b2tlZCAqL1xuICByZXZva2VkPzogYm9vbGVhblxuICAvKiogYW4gYXJyYXkgb2YgcGFydGlhbCBzZXJ2ZXIgaW50ZWdyYXRpb25zICovXG4gIGludGVncmF0aW9ucz86IEFycmF5PFBhcnRpYWw8RGlzY29yZEludGVncmF0aW9uPj5cbiAgLyoqIHdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgZnJpZW5kIHN5bmMgaXMgZW5hYmxlZCBmb3IgdGhpcyBjb25uZWN0aW9uICovXG4gIGZyaWVuZF9zeW5jOiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIGFjdGl2aXRpZXMgcmVsYXRlZCB0byB0aGlzIGNvbm5lY3Rpb24gd2lsbCBiZSBzaG93biBpbiBwcmVzZW5jZSB1cGRhdGVzICovXG4gIHNob3dfYWN0aXZpdHk6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhpcyBjb25uZWN0aW9uIGhhcyBhIGNvcnJlc3BvbmRpbmcgdGhpcmQgcGFydHkgT0F1dGgyIHRva2VuICovXG4gIHR3b193YXlfbGluazogYm9vbGVhblxuICAvKiogdmlzaWJpbGl0eSBvZiB0aGlzIGNvbm5lY3Rpb24gKi9cbiAgdmlzaWJpbGl0eTogRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC1zZXJ2aWNlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25TZXJ2aWNlVHlwZSB7XG4gIEJhdHRsZU5ldCA9ICdiYXR0bGVuZXQnLFxuICBCdW5naWUgPSAnQnVuZ2llLm5ldCcsXG4gIERvbWFpbiA9ICdkb21haW4nLFxuICBlQmF5ID0gJ2ViYXknLFxuICBFcGljR2FtZXMgPSAnZXBpY2dhbWVzJyxcbiAgRmFjZWJvb2sgPSAnZmFjZWJvb2snLFxuICBHaXRIdWIgPSAnZ2l0aHViJyxcbiAgSW5zdGFncmFtID0gJ2luc3RhZ3JhbScsXG4gIExlYWd1ZU9mTGVnZW5kcyA9ICdsZWFndWVvZmxlZ2VuZHMnLFxuICBQYXlQYWwgPSAncGF5cGFsJyxcbiAgUGxheVN0YXRpb25OZXR3b3JrID0gJ3BsYXlzdGF0aW9uJyxcbiAgUmVkZGl0ID0gJ3JlZGRpdCcsXG4gIFJpb3RHYW1lcyA9ICdyaW90Z2FtZXMnLFxuICBTcG90aWZ5ID0gJ3Nwb3RpZnknLFxuICBTa3lwZSA9ICdza3lwZScsXG4gIFN0ZWFtID0gJ3N0ZWFtJyxcbiAgVGlrVG9rID0gJ3Rpa3RvaycsXG4gIFR3aXRjaCA9ICd0d2l0Y2gnLFxuICBUd2l0dGVyID0gJ3R3aXR0ZXInLFxuICBYYm94ID0gJ3hib3gnLFxuICBZb3VUdWJlID0gJ3lvdXR1YmUnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtdmlzaWJpbGl0eS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5IHtcbiAgLyoqIGludmlzaWJsZSB0byBldmVyeW9uZSBleGNlcHQgdGhlIHVzZXIgdGhlbXNlbHZlcyAqL1xuICBOb25lID0gMCxcbiAgLyoqIHZpc2libGUgdG8gZXZlcnlvbmUgKi9cbiAgRXZlcnlvbmUgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjYXBwbGljYXRpb24tcm9sZS1jb25uZWN0aW9uLW9iamVjdC1hcHBsaWNhdGlvbi1yb2xlLWNvbm5lY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uIHtcbiAgLyoqIHRoZSB2YW5pdHkgbmFtZSBvZiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDUwIGNoYXJhY3RlcnMpICovXG4gIHBsYXRmb3JtX25hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSB1c2VybmFtZSBvbiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDEwMCBjaGFyYWN0ZXJzKSAqL1xuICBwbGF0Zm9ybV91c2VybmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogb2JqZWN0IG1hcHBpbmcgYXBwbGljYXRpb24gcm9sZSBjb25uZWN0aW9uIG1ldGFkYXRhIGtleXMgdG8gdGhlaXIgc3RyaW5naWZpZWQgdmFsdWUgKG1heCAxMDAgY2hhcmFjdGVycykgZm9yIHRoZSB1c2VyIG9uIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlYW0ge1xuICAvKiogSGFzaCBvZiB0aGUgaW1hZ2Ugb2YgdGhlIHRlYW0ncyBpY29uICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFVuaXF1ZSBJRCBvZiB0aGUgdGVhbSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBNZW1iZXJzIG9mIHRoZSB0ZWFtICovXG4gIG1lbWJlcnM6IERpc2NvcmRUZWFtTWVtYmVyW11cbiAgLyoqIFVzZXIgSUQgb2YgdGhlIGN1cnJlbnQgdGVhbSBvd25lciAqL1xuICBvd25lcl91c2VyX2lkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHRlYW0gKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1tZW1iZXJzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVhbU1lbWJlciB7XG4gIC8qKiBUaGUgdXNlcidzIG1lbWJlcnNoaXAgc3RhdGUgb24gdGhlIHRlYW0gKi9cbiAgbWVtYmVyc2hpcF9zdGF0ZTogVGVhbU1lbWJlcnNoaXBTdGF0ZXNcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFyZW50IHRlYW0gb2Ygd2hpY2ggdGhleSBhcmUgYSBtZW1iZXIgKi9cbiAgdGVhbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYXZhdGFyLCBkaXNjcmltaW5hdG9yLCBpZCwgdXNlcm5hbWUsIGFuZCBnbG9iYWxfbmFtZSBvZiB0aGUgdXNlciAqL1xuICB1c2VyOiBQYXJ0aWFsPERpc2NvcmRVc2VyPiAmIFBpY2s8RGlzY29yZFVzZXIsICdhdmF0YXInIHwgJ2Rpc2NyaW1pbmF0b3InIHwgJ2lkJyB8ICd1c2VybmFtZScgfCAnZ2xvYmFsX25hbWUnPlxuICAvKiogUm9sZSBvZiB0aGUgdGVhbSBtZW1iZXIgKi9cbiAgcm9sZTogRGlzY29yZFRlYW1NZW1iZXJSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN3ZWJob29rcy11cGRhdGUtd2ViaG9vay11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWJob29rVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2FsbG93ZWQtbWVudGlvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBbGxvd2VkTWVudGlvbnMge1xuICAvKiogQW4gYXJyYXkgb2YgYWxsb3dlZCBtZW50aW9uIHR5cGVzIHRvIHBhcnNlIGZyb20gdGhlIGNvbnRlbnQuICovXG4gIHBhcnNlPzogQWxsb3dlZE1lbnRpb25zVHlwZXNbXVxuICAvKiogRm9yIHJlcGxpZXMsIHdoZXRoZXIgdG8gbWVudGlvbiB0aGUgYXV0aG9yIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHJlcGxpZWQgdG8gKGRlZmF1bHQgZmFsc2UpICovXG4gIHJlcGxpZWRfdXNlcj86IGJvb2xlYW5cbiAgLyoqIEFycmF5IG9mIHJvbGVfaWRzIHRvIG1lbnRpb24gKE1heCBzaXplIG9mIDEwMCkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxuICAvKiogQXJyYXkgb2YgdXNlcl9pZHMgdG8gbWVudGlvbiAoTWF4IHNpemUgb2YgMTAwKSAqL1xuICB1c2Vycz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkIHtcbiAgLyoqIFRpdGxlIG9mIGVtYmVkICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVtYmVkIChhbHdheXMgXCJyaWNoXCIgZm9yIHdlYmhvb2sgZW1iZWRzKSAqL1xuICB0eXBlPzogRW1iZWRUeXBlc1xuICAvKiogRGVzY3JpcHRpb24gb2YgZW1iZWQgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBlbWJlZCAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIENvbG9yIGNvZGUgb2YgdGhlIGVtYmVkICovXG4gIGNvbG9yPzogbnVtYmVyXG4gIC8qKiBUaW1lc3RhbXAgb2YgZW1iZWQgY29udGVudCAqL1xuICB0aW1lc3RhbXA/OiBzdHJpbmdcbiAgLyoqIEZvb3RlciBpbmZvcm1hdGlvbiAqL1xuICBmb290ZXI/OiBEaXNjb3JkRW1iZWRGb290ZXJcbiAgLyoqIEltYWdlIGluZm9ybWF0aW9uICovXG4gIGltYWdlPzogRGlzY29yZEVtYmVkSW1hZ2VcbiAgLyoqIFRodW1ibmFpbCBpbmZvcm1hdGlvbiAqL1xuICB0aHVtYm5haWw/OiBEaXNjb3JkRW1iZWRUaHVtYm5haWxcbiAgLyoqIFZpZGVvIGluZm9ybWF0aW9uICovXG4gIHZpZGVvPzogRGlzY29yZEVtYmVkVmlkZW9cbiAgLyoqIFByb3ZpZGVyIGluZm9ybWF0aW9uICovXG4gIHByb3ZpZGVyPzogRGlzY29yZEVtYmVkUHJvdmlkZXJcbiAgLyoqIEF1dGhvciBpbmZvcm1hdGlvbiAqL1xuICBhdXRob3I/OiBEaXNjb3JkRW1iZWRBdXRob3JcbiAgLyoqIEZpZWxkcyBpbmZvcm1hdGlvbiAqL1xuICBmaWVsZHM/OiBEaXNjb3JkRW1iZWRGaWVsZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtYXV0aG9yLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRBdXRob3Ige1xuICAvKiogTmFtZSBvZiBhdXRob3IgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBVcmwgb2YgYXV0aG9yICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogVXJsIG9mIGF1dGhvciBpY29uIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICBpY29uX3VybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBhdXRob3IgaWNvbiAqL1xuICBwcm94eV9pY29uX3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWZpZWxkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGaWVsZCB7XG4gIC8qKiBOYW1lIG9mIHRoZSBmaWVsZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIHRoZSBmaWVsZCAqL1xuICB2YWx1ZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGZpZWxkIHNob3VsZCBkaXNwbGF5IGlubGluZSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtZm9vdGVyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGb290ZXIge1xuICAvKiogRm9vdGVyIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nXG4gIC8qKiBVcmwgb2YgZm9vdGVyIGljb24gKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIGljb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZvb3RlciBpY29uICovXG4gIHByb3h5X2ljb25fdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtaW1hZ2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEltYWdlIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgaW1hZ2UgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSBpbWFnZSAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBpbWFnZSAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIGltYWdlICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkUHJvdmlkZXIge1xuICAvKiogTmFtZSBvZiBwcm92aWRlciAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgcHJvdmlkZXIgKi9cbiAgdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdGh1bWJuYWlsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRUaHVtYm5haWwge1xuICAvKiogU291cmNlIHVybCBvZiB0aHVtYm5haWwgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB0aHVtYm5haWwgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgdGh1bWJuYWlsICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgdGh1bWJuYWlsICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdmlkZW8tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFZpZGVvIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgdmlkZW8gKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB2aWRlbyAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiB2aWRlbyAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIHZpZGVvICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNhdHRhY2htZW50LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXR0YWNobWVudCB7XG4gIC8qKiBOYW1lIG9mIGZpbGUgYXR0YWNoZWQgKi9cbiAgZmlsZW5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHRpdGxlIG9mIHRoZSBmaWxlICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUaGUgYXR0YWNobWVudCdzIFttZWRpYSB0eXBlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NZWRpYV90eXBlKSAqL1xuICBjb250ZW50X3R5cGU/OiBzdHJpbmdcbiAgLyoqIFNpemUgb2YgZmlsZSBpbiBieXRlcyAqL1xuICBzaXplOiBudW1iZXJcbiAgLyoqIFNvdXJjZSB1cmwgb2YgZmlsZSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBmaWxlICovXG4gIHByb3h5X3VybDogc3RyaW5nXG4gIC8qKiBBdHRhY2htZW50IGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIGRlc2NyaXB0aW9uIGZvciB0aGUgZmlsZSAobWF4IDEwMjQgY2hhcmFjdGVycykgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBmaWxlIChpZiBpbWFnZSkgKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgbnVsbFxuICAvKiogV2lkdGggb2YgZmlsZSAoaWYgaW1hZ2UpICovXG4gIHdpZHRoPzogbnVtYmVyIHwgbnVsbFxuICAvKiogd2hldGhlciB0aGlzIGF0dGFjaG1lbnQgaXMgZXBoZW1lcmFsLiBFcGhlbWVyYWwgYXR0YWNobWVudHMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHJlbW92ZWQgYWZ0ZXIgYSBzZXQgcGVyaW9kIG9mIHRpbWUuIEVwaGVtZXJhbCBhdHRhY2htZW50cyBvbiBtZXNzYWdlcyBhcmUgZ3VhcmFudGVlZCB0byBiZSBhdmFpbGFibGUgYXMgbG9uZyBhcyB0aGUgbWVzc2FnZSBpdHNlbGYgZXhpc3RzLiAqL1xuICBlcGhlbWVyYWw/OiBib29sZWFuXG4gIC8qKiBUaGUgZHVyYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgZm9yIGEgdm9pY2UgbWVzc2FnZSAqL1xuICBkdXJhdGlvbl9zZWNzPzogbnVtYmVyXG4gIC8qKiBBIGJhc2U2NCBlbmNvZGVkIGJ5dGVhcnJheSByZXByZXNlbnRpbmcgYSBzYW1wbGVkIHdhdmVmb3JtIGZvciBhIHZvaWNlIG1lc3NhZ2UgKi9cbiAgd2F2ZWZvcm0/OiBzdHJpbmdcbiAgLyoqIEF0dGFjaG1lbnQgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IEF0dGFjaG1lbnRGbGFnc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3dlYmhvb2sjd2ViaG9vay1vYmplY3Qtd2ViaG9vay1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRXZWJob29rID0gRGlzY29yZEluY29taW5nV2ViaG9vayB8IERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2tcblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5jb21pbmdXZWJob29rIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSB3ZWJob29rICovXG4gIHR5cGU6IFdlYmhvb2tUeXBlc1xuICAvKiogVGhlIHNlY3VyZSB0b2tlbiBvZiB0aGUgd2ViaG9vayAocmV0dXJuZWQgZm9yIEluY29taW5nIFdlYmhvb2tzKSAqL1xuICB0b2tlbj86IHN0cmluZ1xuICAvKiogVGhlIHVybCB1c2VkIGZvciBleGVjdXRpbmcgdGhlIHdlYmhvb2sgKHJldHVybmVkIGJ5IHRoZSB3ZWJob29rcyBPQXV0aDIgZmxvdykgKi9cbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgd2ViaG9vayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoaXMgd2ViaG9vayB3YXMgY3JlYXRlZCBieSAobm90IHJldHVybmVkIHdoZW4gZ2V0dGluZyBhIHdlYmhvb2sgd2l0aCBpdHMgdG9rZW4pICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgd2ViaG9vayAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVmYXVsdCB1c2VyIGF2YXRhciBoYXNoIG9mIHRoZSB3ZWJob29rICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgd2ViaG9vayAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcykgKi9cbiAgc291cmNlX2NoYW5uZWw/OiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2sge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgdHlwZTogV2ViaG9va1R5cGVzLkFwcGxpY2F0aW9uXG4gIC8qKiBUaGUgc2VjdXJlIHRva2VuIG9mIHRoZSB3ZWJob29rIChyZXR1cm5lZCBmb3IgSW5jb21pbmcgV2ViaG9va3MpICovXG4gIHRva2VuPzogc3RyaW5nXG4gIC8qKiBUaGUgdXJsIHVzZWQgZm9yIGV4ZWN1dGluZyB0aGUgd2ViaG9vayAocmV0dXJuZWQgYnkgdGhlIHdlYmhvb2tzIE9BdXRoMiBmbG93KSAqL1xuICB1cmw/OiBzdHJpbmdcblxuICAvKiogVGhlIGlkIG9mIHRoZSB3ZWJob29rICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGd1aWxkX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgdGhpcyB3ZWJob29rIHdhcyBjcmVhdGVkIGJ5IChub3QgcmV0dXJuZWQgd2hlbiBnZXR0aW5nIGEgd2ViaG9vayB3aXRoIGl0cyB0b2tlbikgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSB3ZWJob29rICovXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZWZhdWx0IHVzZXIgYXZhdGFyIGhhc2ggb2YgdGhlIHdlYmhvb2sgKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiB0aGF0IGNyZWF0ZWQgdGhpcyB3ZWJob29rICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9jaGFubmVsPzogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRydWUgaWYgdGhlIHVzZXIgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcj86IGJvb2xlYW5cbiAgLyoqIEFmayB0aW1lb3V0IGluIHNlY29uZHMgKi9cbiAgYWZrX3RpbWVvdXQ6IG51bWJlclxuICAvKiogVHJ1ZSBpZiB0aGUgc2VydmVyIHdpZGdldCBpcyBlbmFibGVkICovXG4gIHdpZGdldF9lbmFibGVkPzogYm9vbGVhblxuICAvKiogVmVyaWZpY2F0aW9uIGxldmVsIHJlcXVpcmVkIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmVyaWZpY2F0aW9uX2xldmVsOiBWZXJpZmljYXRpb25MZXZlbHNcbiAgLyoqIERlZmF1bHQgbWVzc2FnZSBub3RpZmljYXRpb25zIGxldmVsICovXG4gIGRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zOiBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVsc1xuICAvKiogRXhwbGljaXQgY29udGVudCBmaWx0ZXIgbGV2ZWwgKi9cbiAgZXhwbGljaXRfY29udGVudF9maWx0ZXI6IEV4cGxpY2l0Q29udGVudEZpbHRlckxldmVsc1xuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBSZXF1aXJlZCBNRkEgbGV2ZWwgZm9yIHRoZSBndWlsZCAqL1xuICBtZmFfbGV2ZWw6IE1mYUxldmVsc1xuICAvKiogU3lzdGVtIGNoYW5uZWwgZmxhZ3MgKi9cbiAgc3lzdGVtX2NoYW5uZWxfZmxhZ3M6IFN5c3RlbUNoYW5uZWxGbGFnc1xuICAvKiogVHJ1ZSBpZiB0aGlzIGlzIGNvbnNpZGVyZWQgYSBsYXJnZSBndWlsZCAqL1xuICBsYXJnZT86IGJvb2xlYW5cbiAgLyoqIFRydWUgaWYgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogVG90YWwgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcmVzZW5jZXMgZm9yIHRoZSBndWlsZCAodGhlIGRlZmF1bHQgdmFsdWUsIGN1cnJlbnRseSAyNTAwMCwgaXMgaW4gZWZmZWN0IHdoZW4gbnVsbCBpcyByZXR1cm5lZCkgKi9cbiAgbWF4X3ByZXNlbmNlcz86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZW1iZXJzIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWF4X21lbWJlcnM/OiBudW1iZXJcbiAgLyoqIFRoZSB2YW5pdHkgdXJsIGNvZGUgZm9yIHRoZSBndWlsZCAqL1xuICB2YW5pdHlfdXJsX2NvZGU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiBhIGd1aWxkICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBQcmVtaXVtIHRpZXIgKFNlcnZlciBCb29zdCBsZXZlbCkgKi9cbiAgcHJlbWl1bV90aWVyOiBQcmVtaXVtVGllcnNcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm9vc3RzIHRoaXMgZ3VpbGQgY3VycmVudGx5IGhhcyAqL1xuICBwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhfdmlkZW9fY2hhbm5lbF91c2Vycz86IG51bWJlclxuICAvKiogTWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSBzdGFnZSB2aWRlbyBjaGFubmVsICovXG4gIG1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzPzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEd1aWxkIE5TRlcgbGV2ZWwgKi9cbiAgbnNmd19sZXZlbDogR3VpbGROc2Z3TGV2ZWxcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZDogYm9vbGVhblxuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIEljb24gaGFzaCwgcmV0dXJuZWQgd2hlbiBpbiB0aGUgdGVtcGxhdGUgb2JqZWN0ICovXG4gIGljb25faGFzaD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoOyBvbmx5IHByZXNlbnQgZm9yIGd1aWxkcyB3aXRoIHRoZSBcIkRJU0NPVkVSQUJMRVwiIGZlYXR1cmUgKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG93bmVyICovXG4gIG93bmVyX2lkOiBzdHJpbmdcbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIGZvciB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKGV4Y2x1ZGVzIG92ZXJ3cml0ZXMgYW5kIGltcGxpY2l0IHBlcm1pc3Npb25zKSAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogSWQgb2YgYWZrIGNoYW5uZWwgKi9cbiAgYWZrX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoYXQgdGhlIHdpZGdldCB3aWxsIGdlbmVyYXRlIGFuIGludml0ZSB0bywgb3IgbnVsbCBpZiBzZXQgdG8gbm8gaW52aXRlICovXG4gIHdpZGdldF9jaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogUm9sZXMgaW4gdGhlIGd1aWxkICovXG4gIHJvbGVzOiBEaXNjb3JkUm9sZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgZ3VpbGQgbm90aWNlcyBzdWNoIGFzIHdlbGNvbWUgbWVzc2FnZXMgYW5kIGJvb3N0IGV2ZW50cyBhcmUgcG9zdGVkICovXG4gIHN5c3RlbV9jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGVuIHRoaXMgZ3VpbGQgd2FzIGpvaW5lZCBhdCAqL1xuICBqb2luZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZV9zdGF0ZXM/OiBBcnJheTxPbWl0PERpc2NvcmRWb2ljZVN0YXRlLCAnZ3VpbGRJZCc+PlxuICAvKiogVXNlcnMgaW4gdGhlIGd1aWxkICovXG4gIG1lbWJlcnM/OiBEaXNjb3JkTWVtYmVyW11cbiAgLyoqIENoYW5uZWxzIGluIHRoZSBndWlsZCAqL1xuICBjaGFubmVscz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ3VpbGQgdGhhdCB0aGUgY3VycmVudCB1c2VyIGhhcyBwZXJtaXNzaW9uIHRvIHZpZXcgKi9cbiAgdGhyZWFkcz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIFByZXNlbmNlcyBvZiB0aGUgbWVtYmVycyBpbiB0aGUgZ3VpbGQsIHdpbGwgb25seSBpbmNsdWRlIG5vbi1vZmZsaW5lIG1lbWJlcnMgaWYgdGhlIHNpemUgaXMgZ3JlYXRlciB0aGFuIGxhcmdlIHRocmVzaG9sZCAqL1xuICBwcmVzZW5jZXM/OiBBcnJheTxQYXJ0aWFsPERpc2NvcmRQcmVzZW5jZVVwZGF0ZT4+XG4gIC8qKiBCYW5uZXIgaGFzaCAqL1xuICBiYW5uZXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBwcmVmZXJyZWQgbG9jYWxlIG9mIGEgQ29tbXVuaXR5IGd1aWxkOyB1c2VkIGluIHNlcnZlciBkaXNjb3ZlcnkgYW5kIG5vdGljZXMgZnJvbSBEaXNjb3JkOyBkZWZhdWx0cyB0byBcImVuLVVTXCIgKi9cbiAgcHJlZmVycmVkX2xvY2FsZTogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgYWRtaW5zIGFuZCBtb2RlcmF0b3JzIG9mIENvbW11bml0eSBndWlsZHMgcmVjZWl2ZSBub3RpY2VzIGZyb20gRGlzY29yZCAqL1xuICBwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgd2VsY29tZSBzY3JlZW4gb2YgYSBDb21tdW5pdHkgZ3VpbGQsIHNob3duIHRvIG5ldyBtZW1iZXJzLCByZXR1cm5lZCBpbiBhbiBJbnZpdGUncyBndWlsZCBvYmplY3QgKi9cbiAgd2VsY29tZV9zY3JlZW4/OiBEaXNjb3JkV2VsY29tZVNjcmVlblxuICAvKiogU3RhZ2UgaW5zdGFuY2VzIGluIHRoZSBndWlsZCAqL1xuICBzdGFnZV9pbnN0YW5jZXM/OiBEaXNjb3JkU3RhZ2VJbnN0YW5jZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgYWRtaW5zIGFuZCBtb2RlcmF0b3JzIG9mIENvbW11bml0eSBndWlsZHMgcmVjZWl2ZSBzYWZldHkgYWxlcnRzIGZyb20gRGlzY29yZCAqL1xuICBzYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUGFydGlhbEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEljb24gaGFzaCAqL1xuICBpY29uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0cnVlIGlmIHRoZSB1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI6IGJvb2xlYW5cbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIGZvciB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKGV4Y2x1ZGVzIG92ZXJ3cml0ZXMgYW5kIGltcGxpY2l0IHBlcm1pc3Npb25zKSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBub24tb2ZmbGluZSBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3Blcm1pc3Npb25zI3JvbGUtb2JqZWN0LXJvbGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlIHtcbiAgLyoqIFJvbGUgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWYgdGhpcyByb2xlIGlzIHNob3dlZCBzZXBhcmF0ZWx5IGluIHRoZSB1c2VyIGxpc3RpbmcgKi9cbiAgaG9pc3Q6IGJvb2xlYW5cbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtYW5hZ2VkIGJ5IGFuIGludGVncmF0aW9uICovXG4gIG1hbmFnZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1lbnRpb25hYmxlICovXG4gIG1lbnRpb25hYmxlOiBib29sZWFuXG4gIC8qKiBUaGUgdGFncyB0aGlzIHJvbGUgaGFzICovXG4gIHRhZ3M/OiBEaXNjb3JkUm9sZVRhZ3NcbiAgLyoqIHRoZSByb2xlIGVtb2ppIGhhc2ggKi9cbiAgaWNvbj86IHN0cmluZ1xuICAvKiogUm9sZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW50ZWdlciByZXByZXNlbnRhdGlvbiBvZiBoZXhhZGVjaW1hbCBjb2xvciBjb2RlICovXG4gIGNvbG9yOiBudW1iZXJcbiAgLyoqIFBvc2l0aW9uIG9mIHRoaXMgcm9sZSAqL1xuICBwb3NpdGlvbjogbnVtYmVyXG4gIC8qKiByb2xlIHVuaWNvZGUgZW1vamkgKi9cbiAgdW5pY29kZV9lbW9qaT86IHN0cmluZ1xuICAvKiogUm9sZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBSb2xlRmxhZ3Ncbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXRhZ3Mtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlVGFncyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdCB0aGlzIHJvbGUgYmVsb25ncyB0byAqL1xuICBib3RfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgaW50ZWdyYXRpb24gdGhpcyByb2xlIGJlbG9uZ3MgdG8gKi9cbiAgaW50ZWdyYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyB0aGUgZ3VpbGQncyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBwcmVtaXVtX3N1YnNjcmliZXI/OiBudWxsXG4gIC8qKiBJZCBvZiB0aGlzIHJvbGUncyBzdWJzY3JpcHRpb24gc2t1IGFuZCBsaXN0aW5nLiAqL1xuICBzdWJzY3JpcHRpb25fbGlzdGluZ19pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZS4gKi9cbiAgYXZhaWxhYmxlX2Zvcl9wdXJjaGFzZT86IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGd1aWxkJ3MgbGlua2VkIHJvbGUgKi9cbiAgZ3VpbGRfY29ubmVjdGlvbnM/OiBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjZW1vamktb2JqZWN0LWVtb2ppLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1vamkge1xuICAvKiogRW1vamkgbmFtZSAoY2FuIG9ubHkgYmUgbnVsbCBpbiByZWFjdGlvbiBlbW9qaSBvYmplY3RzKSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBFbW9qaSBpZCAqL1xuICBpZD86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG4gIC8qKiBVc2VyIHRoYXQgY3JlYXRlZCB0aGlzIGVtb2ppICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIG11c3QgYmUgd3JhcHBlZCBpbiBjb2xvbnMgKi9cbiAgcmVxdWlyZV9jb2xvbnM/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGNhbiBiZSB1c2VkLCBtYXkgYmUgZmFsc2UgZHVlIHRvIGxvc3Mgb2YgU2VydmVyIEJvb3N0cyAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdm9pY2Ujdm9pY2Utc3RhdGUtb2JqZWN0LXZvaWNlLXN0YXRlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VTdGF0ZSB7XG4gIC8qKiBUaGUgc2Vzc2lvbiBpZCBmb3IgdGhpcyB2b2ljZSBzdGF0ZSAqL1xuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB1c2VyIGlzIGNvbm5lY3RlZCB0byAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlciBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBtZW1iZXIgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBkZWFmZW5lZCBieSB0aGUgc2VydmVyICovXG4gIGRlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBzZXJ2ZXIgKi9cbiAgbXV0ZTogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgbG9jYWxseSBkZWFmZW5lZCAqL1xuICBzZWxmX2RlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIGxvY2FsbHkgbXV0ZWQgKi9cbiAgc2VsZl9tdXRlOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBzdHJlYW1pbmcgdXNpbmcgXCJHbyBMaXZlXCIgKi9cbiAgc2VsZl9zdHJlYW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlcidzIGNhbWVyYSBpcyBlbmFibGVkICovXG4gIHNlbGZfdmlkZW86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgc3VwcHJlc3M6IGJvb2xlYW5cbiAgLyoqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSB1c2VyIHJlcXVlc3RlZCB0byBzcGVhayAqL1xuICByZXF1ZXN0X3RvX3NwZWFrX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjY2hhbm5lbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZTogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBFeHBsaWNpdCBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgZm9yIG1lbWJlcnMgYW5kIHJvbGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKDEtMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIHRvcGljICgwLTQwOTYgY2hhcmFjdGVycyBmb3IgR1VJTERfRk9SVU0gY2hhbm5lbHMsIDAtMTAyNCBjaGFyYWN0ZXJzIGZvciBhbGwgb3RoZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBsYXN0IG1lc3NhZ2Ugc2VudCBpbiB0aGlzIGNoYW5uZWwgKG1heSBub3QgcG9pbnQgdG8gYW4gZXhpc3Rpbmcgb3IgdmFsaWQgbWVzc2FnZSkgKi9cbiAgbGFzdF9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXJcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIHJlY2lwaWVudHMgb2YgdGhlIERNICovXG4gIHJlY2lwaWVudHM/OiBEaXNjb3JkVXNlcltdXG4gIC8qKiBpY29uIGhhc2ggb2YgdGhlIGdyb3VwIERNICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBjcmVhdG9yIG9mIHRoZSB0aHJlYWQgKi9cbiAgb3duZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBncm91cCBETSBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZ3JvdXAgRE0gY2hhbm5lbHM6IHdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbWFuYWdlZCBieSBhbiBhcHBsaWNhdGlvbiB2aWEgdGhlIGBnZG0uam9pbmAgT0F1dGgyIHNjb3BlLiAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogRm9yIGd1aWxkIGNoYW5uZWxzOiBJZCBvZiB0aGUgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKGVhY2ggcGFyZW50IGNhdGVnb3J5IGNhbiBjb250YWluIHVwIHRvIDUwIGNoYW5uZWxzKSwgZm9yIHRocmVhZHM6IGlkIG9mIHRoZSB0ZXh0IGNoYW5uZWwgdGhpcyB0aHJlYWQgd2FzIGNyZWF0ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiB0aGUgbGFzdCBwaW5uZWQgbWVzc2FnZSB3YXMgcGlubmVkLiBUaGlzIG1heSBiZSBudWxsIGluIGV2ZW50cyBzdWNoIGFzIEdVSUxEX0NSRUFURSB3aGVuIGEgbWVzc2FnZSBpcyBub3QgcGlubmVkLiAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwsIDEgd2hlbiBub3QgcHJlc2VudCAqL1xuICB2aWRlb19xdWFsaXR5X21vZGU/OiBWaWRlb1F1YWxpdHlNb2Rlc1xuICAvKiogQW4gYXBwcm94aW1hdGUgY291bnQgb2YgbWVzc2FnZXMgaW4gYSB0aHJlYWQsIHN0b3BzIGNvdW50aW5nIGF0IDUwICovXG4gIG1lc3NhZ2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHVzZXJzIGluIGEgdGhyZWFkLCBzdG9wcyBjb3VudGluZyBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRocmVhZC1zcGVjaWZpYyBmaWVsZHMgbm90IG5lZWRlZCBieSBvdGhlciBjaGFubmVscyAqL1xuICB0aHJlYWRfbWV0YWRhdGE/OiBEaXNjb3JkVGhyZWFkTWV0YWRhdGFcbiAgLyoqIFRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciB0aGUgY3VycmVudCB1c2VyLCBpZiB0aGV5IGhhdmUgam9pbmVkIHRoZSB0aHJlYWQsIG9ubHkgaW5jbHVkZWQgb24gY2VydGFpbiBBUEkgZW5kcG9pbnRzICovXG4gIG1lbWJlcj86IERpc2NvcmRUaHJlYWRNZW1iZXJcbiAgLyoqIERlZmF1bHQgZHVyYXRpb24gZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcywgaW4gbWludXRlcywgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciB0aGUgaW52b2tpbmcgdXNlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIG9ubHkgaW5jbHVkZWQgd2hlbiBwYXJ0IG9mIHRoZSByZXNvbHZlZCBkYXRhIHJlY2VpdmVkIG9uIGEgc2xhc2ggY29tbWFuZCBpbnRlcmFjdGlvbi4gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIGltcGxpY2l0IHBlcm1pc3Npb25zLCB3aGljaCBtYXkgbmVlZCB0byBiZSBjaGVja2VkIHNlcGFyYXRlbHkuICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb2YgdGhlIGNoYW5uZWwgKi9cbiAgZmxhZ3M/OiBDaGFubmVsRmxhZ3NcbiAgLyoqIG51bWJlciBvZiBtZXNzYWdlcyBldmVyIHNlbnQgaW4gYSB0aHJlYWQsIGl0J3Mgc2ltaWxhciB0byBgbWVzc2FnZV9jb3VudGAgb24gbWVzc2FnZSBjcmVhdGlvbiwgYnV0IHdpbGwgbm90IGRlY3JlbWVudCB0aGUgbnVtYmVyIHdoZW4gYSBtZXNzYWdlIGlzIGRlbGV0ZWQgKi9cbiAgdG90YWxfbWVzc2FnZV9zZW50PzogbnVtYmVyXG4gIC8qKiBUaGUgc2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBEaXNjb3JkRm9ydW1UYWdbXVxuICAvKiogVGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzOiBzdHJpbmdbXVxuICAvKiogdGhlIGVtb2ppIHRvIHNob3cgaW4gdGhlIGFkZCByZWFjdGlvbiBidXR0b24gb24gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGRlZmF1bHRfcmVhY3Rpb25fZW1vamk/OiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkgfCBudWxsXG4gIC8qKiB0aGUgaW5pdGlhbCByYXRlX2xpbWl0X3Blcl91c2VyIHRvIHNldCBvbiBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gYSBjaGFubmVsLiB0aGlzIGZpZWxkIGlzIGNvcGllZCB0byB0aGUgdGhyZWFkIGF0IGNyZWF0aW9uIHRpbWUgYW5kIGRvZXMgbm90IGxpdmUgdXBkYXRlLiAqL1xuICBkZWZhdWx0X3RocmVhZF9yYXRlX2xpbWl0X3Blcl91c2VyOiBudW1iZXJcbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIEdVSUxEX0ZPUlVNIGNoYW5uZWxzLiBEZWZhdWx0cyB0byBudWxsLCB3aGljaCBpbmRpY2F0ZXMgYSBwcmVmZXJyZWQgc29ydCBvcmRlciBoYXNuJ3QgYmVlbiBzZXQgYnkgYSBjaGFubmVsIGFkbWluICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxuICAvKiogdGhlIGRlZmF1bHQgZm9ydW0gbGF5b3V0IHZpZXcgdXNlZCB0byBkaXNwbGF5IHBvc3RzIGluIGBHVUlMRF9GT1JVTWAgY2hhbm5lbHMuIERlZmF1bHRzIHRvIGAwYCwgd2hpY2ggaW5kaWNhdGVzIGEgbGF5b3V0IHZpZXcgaGFzIG5vdCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9mb3J1bV9sYXlvdXQ/OiBGb3J1bUxheW91dFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBjcmVhdGVkIHRoaXMgd2lsbCBiZSB0cnVlIG9uIHRoYXQgY2hhbm5lbCBwYXlsb2FkIGZvciB0aGUgdGhyZWFkLiAqL1xuICBuZXdseV9jcmVhdGVkPzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcHJlc2VuY2UtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSB7XG4gIC8qKiBFaXRoZXIgXCJpZGxlXCIsIFwiZG5kXCIsIFwib25saW5lXCIsIG9yIFwib2ZmbGluZVwiICovXG4gIHN0YXR1czogJ2lkbGUnIHwgJ2RuZCcgfCAnb25saW5lJyB8ICdvZmZsaW5lJ1xuICAvKiogVGhlIHVzZXIgcHJlc2VuY2UgaXMgYmVpbmcgdXBkYXRlZCBmb3IgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBVc2VyJ3MgY3VycmVudCBhY3Rpdml0aWVzICovXG4gIGFjdGl2aXRpZXM6IERpc2NvcmRBY3Rpdml0eVtdXG4gIC8qKiBVc2VyJ3MgcGxhdGZvcm0tZGVwZW5kZW50IHN0YXR1cyAqL1xuICBjbGllbnRfc3RhdHVzOiBEaXNjb3JkQ2xpZW50U3RhdHVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjd2VsY29tZS1zY3JlZW4tb2JqZWN0LXdlbGNvbWUtc2NyZWVuLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2VsY29tZVNjcmVlbiB7XG4gIC8qKiBUaGUgc2VydmVyIGRlc2NyaXB0aW9uIHNob3duIGluIHRoZSB3ZWxjb21lIHNjcmVlbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWxzIHNob3duIGluIHRoZSB3ZWxjb21lIHNjcmVlbiwgdXAgdG8gNSAqL1xuICB3ZWxjb21lX2NoYW5uZWxzOiBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWxbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI3dlbGNvbWUtc2NyZWVuLW9iamVjdC13ZWxjb21lLXNjcmVlbi1jaGFubmVsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWwge1xuICAvKiogVGhlIGRlc2NyaXB0aW9uIHNob3duIGZvciB0aGUgY2hhbm5lbCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCdzIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGVtb2ppIGlkLCBpZiB0aGUgZW1vamkgaXMgY3VzdG9tICovXG4gIGVtb2ppX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZW1vamkgbmFtZSBpZiBjdXN0b20sIHRoZSB1bmljb2RlIGNoYXJhY3RlciBpZiBzdGFuZGFyZCwgb3IgYG51bGxgIGlmIG5vIGVtb2ppIGlzIHNldCAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RhZ2UtaW5zdGFuY2UjYXV0by1jbG9zaW5nLXN0YWdlLWluc3RhbmNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RhZ2VJbnN0YW5jZSB7XG4gIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50IGZvciB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZXRhZGF0YSB7XG4gIC8qKiBXaGV0aGVyIHRoZSB0aHJlYWQgaXMgYXJjaGl2ZWQgKi9cbiAgYXJjaGl2ZWQ6IGJvb2xlYW5cbiAgLyoqIER1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5ICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbjogNjAgfCAxNDQwIHwgNDMyMCB8IDEwMDgwXG4gIC8qKiBXaGVuIGEgdGhyZWFkIGlzIGxvY2tlZCwgb25seSB1c2VycyB3aXRoIGBNQU5BR0VfVEhSRUFEU2AgY2FuIHVuYXJjaGl2ZSBpdCAqL1xuICBsb2NrZWQ6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgbm9uLW1vZGVyYXRvcnMgY2FuIGFkZCBvdGhlciBub24tbW9kZXJhdG9ycyB0byBhIHRocmVhZDsgb25seSBhdmFpbGFibGUgb24gcHJpdmF0ZSB0aHJlYWRzICovXG4gIGludml0YWJsZT86IGJvb2xlYW5cbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoZSB0aHJlYWQncyBhcmNoaXZlIHN0YXR1cyB3YXMgbGFzdCBjaGFuZ2VkLCB1c2VkIGZvciBjYWxjdWxhdGluZyByZWNlbnQgYWN0aXZpdHkgKi9cbiAgYXJjaGl2ZV90aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogVGltZXN0YW1wIHdoZW4gdGhlIHRocmVhZCB3YXMgY3JlYXRlZDsgb25seSBwb3B1bGF0ZWQgZm9yIHRocmVhZHMgY3JlYXRlZCBhZnRlciAyMDIyLTAxLTA5ICovXG4gIGNyZWF0ZV90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlciB7XG4gIC8qKiBBbnkgdXNlci10aHJlYWQgc2V0dGluZ3MsIGN1cnJlbnRseSBvbmx5IHVzZWQgZm9yIG5vdGlmaWNhdGlvbnMgKi9cbiAgZmxhZ3M6IG51bWJlclxuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgdGhlIGN1cnJlbnQgdXNlciBsYXN0IGpvaW5lZCB0aGUgdGhyZWFkICovXG4gIGpvaW5fdGltZXN0YW1wOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNhY3Rpdml0eS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5IHtcbiAgLyoqIFRoZSBhY3Rpdml0eSdzIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBBY3Rpdml0eSB0eXBlICovXG4gIHR5cGU6IEFjdGl2aXR5VHlwZXNcbiAgLyoqIFN0cmVhbSB1cmwsIGlzIHZhbGlkYXRlZCB3aGVuIHR5cGUgaXMgMSAqL1xuICB1cmw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBVbml4IHRpbWVzdGFtcCBvZiB3aGVuIHRoZSBhY3Rpdml0eSB3YXMgYWRkZWQgdG8gdGhlIHVzZXIncyBzZXNzaW9uICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlclxuICAvKiogV2hhdCB0aGUgcGxheWVyIGlzIGN1cnJlbnRseSBkb2luZyAqL1xuICBkZXRhaWxzPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIncyBjdXJyZW50IHBhcnR5IHN0YXR1cyAqL1xuICBzdGF0ZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBhY3Rpdml0eSBpcyBhbiBpbnN0YW5jZWQgZ2FtZSBzZXNzaW9uICovXG4gIGluc3RhbmNlPzogYm9vbGVhblxuICAvKiogQWN0aXZpdHkgZmxhZ3MgYE9SYGQgdG9nZXRoZXIsIGRlc2NyaWJlcyB3aGF0IHRoZSBwYXlsb2FkIGluY2x1ZGVzICovXG4gIGZsYWdzPzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWVzdGFtcHMgZm9yIHN0YXJ0IGFuZC9vciBlbmQgb2YgdGhlIGdhbWUgKi9cbiAgdGltZXN0YW1wcz86IERpc2NvcmRBY3Rpdml0eVRpbWVzdGFtcHNcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIGZvciB0aGUgZ2FtZSAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xuICAvKiogVGhlIGVtb2ppIHVzZWQgZm9yIGEgY3VzdG9tIHN0YXR1cyAqL1xuICBlbW9qaT86IERpc2NvcmRBY3Rpdml0eUVtb2ppIHwgbnVsbFxuICAvKiogSW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IHBhcnR5IG9mIHRoZSBwbGF5ZXIgKi9cbiAgcGFydHk/OiBEaXNjb3JkQWN0aXZpdHlQYXJ0eVxuICAvKiogSW1hZ2VzIGZvciB0aGUgcHJlc2VuY2UgYW5kIHRoZWlyIGhvdmVyIHRleHRzICovXG4gIGFzc2V0cz86IERpc2NvcmRBY3Rpdml0eUFzc2V0c1xuICAvKiogU2VjcmV0cyBmb3IgUmljaCBQcmVzZW5jZSBqb2luaW5nIGFuZCBzcGVjdGF0aW5nICovXG4gIHNlY3JldHM/OiBEaXNjb3JkQWN0aXZpdHlTZWNyZXRzXG4gIC8qKiBUaGUgY3VzdG9tIGJ1dHRvbnMgc2hvd24gaW4gdGhlIFJpY2ggUHJlc2VuY2UgKG1heCAyKSAqL1xuICBidXR0b25zPzogRGlzY29yZEFjdGl2aXR5QnV0dG9uW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2NsaWVudC1zdGF0dXMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDbGllbnRTdGF0dXMge1xuICAvKiogVGhlIHVzZXIncyBzdGF0dXMgc2V0IGZvciBhbiBhY3RpdmUgZGVza3RvcCAoV2luZG93cywgTGludXgsIE1hYykgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBkZXNrdG9wPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIHN0YXR1cyBzZXQgZm9yIGFuIGFjdGl2ZSBtb2JpbGUgKGlPUywgQW5kcm9pZCkgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBtb2JpbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3Mgc3RhdHVzIHNldCBmb3IgYW4gYWN0aXZlIHdlYiAoYnJvd3NlciwgYm90IGFjY291bnQpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgd2ViPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktdGltZXN0YW1wcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlUaW1lc3RhbXBzIHtcbiAgLyoqIFVuaXggdGltZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB3aGVuIHRoZSBhY3Rpdml0eSBzdGFydGVkICovXG4gIHN0YXJ0PzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWUgKGluIG1pbGxpc2Vjb25kcykgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgZW5kcyAqL1xuICBlbmQ/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlFbW9qaSB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGVtb2ppICovXG4gIGlkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktcGFydHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5UGFydHkge1xuICAvKiogVXNlZCB0byBzaG93IHRoZSBwYXJ0eSdzIGN1cnJlbnQgYW5kIG1heGltdW0gc2l6ZSAqL1xuICBzaXplPzogW2N1cnJlbnRTaXplOiBudW1iZXIsIG1heFNpemU6IG51bWJlcl1cbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFydHkgKi9cbiAgaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1hc3NldHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QXNzZXRzIHtcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgbGFyZ2UgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIGxhcmdlX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgc21hbGwgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIHNtYWxsX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBsYXJnZSBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgbGFyZ2VfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBzbWFsbCBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgc21hbGxfaW1hZ2U/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1zZWNyZXRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eVNlY3JldHMge1xuICAvKiogVGhlIHNlY3JldCBmb3Igam9pbmluZyBhIHBhcnR5ICovXG4gIGpvaW4/OiBzdHJpbmdcbiAgLyoqIFRoZSBzZWNyZXQgZm9yIHNwZWN0YXRpbmcgYSBnYW1lICovXG4gIHNwZWN0YXRlPzogc3RyaW5nXG4gIC8qKiBUaGUgc2VjcmV0IGZvciBhIHNwZWNpZmljIGluc3RhbmNlZCBtYXRjaCAqL1xuICBtYXRjaD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LWJ1dHRvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QnV0dG9uIHtcbiAgLyoqIFRoZSB0ZXh0IHNob3duIG9uIHRoZSBidXR0b24gKDEtMzIgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHVybCBvcGVuZWQgd2hlbiBjbGlja2luZyB0aGUgYnV0dG9uICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICB1cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRPdmVyd3JpdGUge1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbiAgLyoqIFJvbGUgb3IgdXNlciBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c/OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlcldpdGhVc2VyIGV4dGVuZHMgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBUaGUgdXNlciBvYmplY3QgZm9yIHRoaXMgbWVtYmVyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZSB7XG4gIC8qKiBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBndWlsZCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpblxuICAgKiBOb3RlOiBGb3IgTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cywgdGhlIG1lc3NhZ2Ugb2JqZWN0IG1heSBub3QgY29udGFpbiBhIGd1aWxkX2lkIG9yIG1lbWJlciBmaWVsZCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBzZW50IGRpcmVjdGx5IHRvIHRoZSByZWNlaXZpbmcgdXNlciBhbmQgdGhlIGJvdCB3aG8gc2VudCB0aGUgbWVzc2FnZSwgcmF0aGVyIHRoYW4gYmVpbmcgc2VudCB0aHJvdWdoIHRoZSBndWlsZCBsaWtlIG5vbi1lcGhlbWVyYWwgbWVzc2FnZXMuXG4gICAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKG5vdCBndWFyYW50ZWVkIHRvIGJlIGEgdmFsaWQgdXNlcilcbiAgICogTm90ZTogVGhlIGF1dGhvciBvYmplY3QgZm9sbG93cyB0aGUgc3RydWN0dXJlIG9mIHRoZSB1c2VyIG9iamVjdCwgYnV0IGlzIG9ubHkgYSB2YWxpZCB1c2VyIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHVzZXIgb3IgYm90IHVzZXIuIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoZSBhdXRob3Igb2JqZWN0IGNvcnJlc3BvbmRzIHRvIHRoZSB3ZWJob29rJ3MgaWQsIHVzZXJuYW1lLCBhbmQgYXZhdGFyLiBZb3UgY2FuIHRlbGwgaWYgYSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2sgYnkgY2hlY2tpbmcgZm9yIHRoZSB3ZWJob29rX2lkIG9uIHRoZSBtZXNzYWdlIG9iamVjdC5cbiAgICovXG4gIGF1dGhvcjogRGlzY29yZFVzZXJcbiAgLyoqXG4gICAqIE1lbWJlciBwcm9wZXJ0aWVzIGZvciB0aGlzIG1lc3NhZ2UncyBhdXRob3JcbiAgICogTm90ZTogVGhlIG1lbWJlciBvYmplY3QgZXhpc3RzIGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy4gVGhpcyBhbGxvd3MgYm90cyB0byBvYnRhaW4gcmVhbC10aW1lIG1lbWJlciBkYXRhIHdpdGhvdXQgcmVxdWlyaW5nIGJvdHMgdG8gc3RvcmUgbWVtYmVyIHN0YXRlIGluIG1lbW9yeS5cbiAgICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJcbiAgLyoqIENvbnRlbnRzIG9mIHRoZSBtZXNzYWdlICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyBtZXNzYWdlIHdhcyBzZW50ICovXG4gIHRpbWVzdGFtcDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgbWVzc2FnZSB3YXMgZWRpdGVkIChvciBudWxsIGlmIG5ldmVyKSAqL1xuICBlZGl0ZWRfdGltZXN0YW1wOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoaXMgd2FzIGEgVFRTIG1lc3NhZ2UgKi9cbiAgdHRzOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBtZW50aW9ucyBldmVyeW9uZSAqL1xuICBtZW50aW9uX2V2ZXJ5b25lOiBib29sZWFuXG4gIC8qKlxuICAgKiBVc2VycyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoZSBtZXNzYWdlXG4gICAqIE5vdGU6IFRoZSB1c2VyIG9iamVjdHMgaW4gdGhlIG1lbnRpb25zIGFycmF5IHdpbGwgb25seSBoYXZlIHRoZSBwYXJ0aWFsIG1lbWJlciBmaWVsZCBwcmVzZW50IGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy5cbiAgICovXG4gIG1lbnRpb25zOiBBcnJheTxEaXNjb3JkVXNlciAmIHsgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPiB9PlxuICAvKiogUm9sZXMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVudGlvbl9yb2xlcz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBDaGFubmVscyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoaXMgbWVzc2FnZVxuICAgKiBOb3RlOiBOb3QgYWxsIGNoYW5uZWwgbWVudGlvbnMgaW4gYSBtZXNzYWdlIHdpbGwgYXBwZWFyIGluIGBtZW50aW9uX2NoYW5uZWxzYC4gT25seSB0ZXh0dWFsIGNoYW5uZWxzIHRoYXQgYXJlIHZpc2libGUgdG8gZXZlcnlvbmUgaW4gYSBkaXNjb3ZlcmFibGUgZ3VpbGQgd2lsbCBldmVyIGJlIGluY2x1ZGVkLiBPbmx5IGNyb3NzcG9zdGVkIG1lc3NhZ2VzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpIGN1cnJlbnRseSBpbmNsdWRlIGBtZW50aW9uX2NoYW5uZWxzYCBhdCBhbGwuIElmIG5vIG1lbnRpb25zIGluIHRoZSBtZXNzYWdlIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLCB0aGlzIGZpZWxkIHdpbGwgbm90IGJlIHNlbnQuXG4gICAqL1xuICBtZW50aW9uX2NoYW5uZWxzPzogRGlzY29yZENoYW5uZWxNZW50aW9uW11cbiAgLyoqIEFueSBhdHRhY2hlZCBmaWxlcyAqL1xuICBhdHRhY2htZW50czogRGlzY29yZEF0dGFjaG1lbnRbXVxuICAvKiogQW55IGVtYmVkZGVkIGNvbnRlbnQgKi9cbiAgZW1iZWRzOiBEaXNjb3JkRW1iZWRbXVxuICAvKiogUmVhY3Rpb25zIHRvIHRoZSBtZXNzYWdlICovXG4gIHJlYWN0aW9ucz86IERpc2NvcmRSZWFjdGlvbltdXG4gIC8qKiBVc2VkIGZvciB2YWxpZGF0aW5nIGEgbWVzc2FnZSB3YXMgc2VudCAqL1xuICBub25jZT86IG51bWJlciB8IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgcGlubmVkICovXG4gIHBpbm5lZDogYm9vbGVhblxuICAvKiogSWYgdGhlIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGJ5IGEgd2ViaG9vaywgdGhpcyBpcyB0aGUgd2ViaG9vaydzIGlkICovXG4gIHdlYmhvb2tfaWQ/OiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgbWVzc2FnZSAqL1xuICB0eXBlOiBNZXNzYWdlVHlwZXNcbiAgLyoqIFNlbnQgd2l0aCBSaWNoIFByZXNlbmNlLXJlbGF0ZWQgY2hhdCBlbWJlZHMgKi9cbiAgYWN0aXZpdHk/OiBEaXNjb3JkTWVzc2FnZUFjdGl2aXR5XG4gIC8qKiBTZW50IHdpdGggUmljaCBQcmVzZW5jZS1yZWxhdGVkIGNoYXQgZW1iZWRzICovXG4gIGFwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBpZiB0aGUgbWVzc2FnZSBpcyBhbiBJbnRlcmFjdGlvbiBvciBhcHBsaWNhdGlvbi1vd25lZCB3ZWJob29rLCB0aGlzIGlzIHRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIERhdGEgc2hvd2luZyB0aGUgc291cmNlIG9mIGEgY3Jvc3Nwb3N0ZWQgY2hhbm5lbCBmb2xsb3cgYWRkLCBwaW4gb3IgcmVwbHkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IE9taXQ8RGlzY29yZE1lc3NhZ2VSZWZlcmVuY2UsICdmYWlsSWZOb3RFeGlzdHMnPlxuICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzPzogRGlzY29yZE1lc3NhZ2VGbGFnXG4gIC8qKlxuICAgKiBUaGUgc3RpY2tlcnMgc2VudCB3aXRoIHRoZSBtZXNzYWdlIChib3RzIGN1cnJlbnRseSBjYW4gb25seSByZWNlaXZlIG1lc3NhZ2VzIHdpdGggc3RpY2tlcnMsIG5vdCBzZW5kKVxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBtZXNzYWdlX3JlZmVyZW5jZWBcbiAgICogTm90ZTogVGhpcyBmaWVsZCBpcyBvbmx5IHJldHVybmVkIGZvciBtZXNzYWdlcyB3aXRoIGEgYHR5cGVgIG9mIGAxOWAgKFJFUExZKS4gSWYgdGhlIG1lc3NhZ2UgaXMgYSByZXBseSBidXQgdGhlIGByZWZlcmVuY2VkX21lc3NhZ2VgIGZpZWxkIGlzIG5vdCBwcmVzZW50LCB0aGUgYmFja2VuZCBkaWQgbm90IGF0dGVtcHQgdG8gZmV0Y2ggdGhlIG1lc3NhZ2UgdGhhdCB3YXMgYmVpbmcgcmVwbGllZCB0bywgc28gaXRzIHN0YXRlIGlzIHVua25vd24uIElmIHRoZSBmaWVsZCBleGlzdHMgYnV0IGlzIG51bGwsIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2Ugd2FzIGRlbGV0ZWQuXG4gICAqL1xuICByZWZlcmVuY2VkX21lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogc2VudCBpZiB0aGUgbWVzc2FnZSBpcyBzZW50IGFzIGEgcmVzdWx0IG9mIGFuIGludGVyYWN0aW9uICovXG4gIGludGVyYWN0aW9uX21ldGFkYXRhPzogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG4gIC8qKlxuICAgKiBTZW50IGlmIHRoZSBtZXNzYWdlIGlzIGEgcmVzcG9uc2UgdG8gYW4gSW50ZXJhY3Rpb25cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZCBpbiBmYXZvciBvZiB7QGxpbmsgaW50ZXJhY3Rpb25fbWV0YWRhdGF9XG4gICAqL1xuICBpbnRlcmFjdGlvbj86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25cbiAgLyoqIFRoZSB0aHJlYWQgdGhhdCB3YXMgc3RhcnRlZCBmcm9tIHRoaXMgbWVzc2FnZSwgaW5jbHVkZXMgdGhyZWFkIG1lbWJlciBvYmplY3QgKi9cbiAgdGhyZWFkPzogT21pdDxEaXNjb3JkQ2hhbm5lbCwgJ21lbWJlcic+ICYgeyBtZW1iZXI6IERpc2NvcmRUaHJlYWRNZW1iZXIgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogU2VudCBpZiB0aGUgbWVzc2FnZSBjb250YWlucyBzdGlja2VycyAqL1xuICBzdGlja2VyX2l0ZW1zPzogRGlzY29yZFN0aWNrZXJJdGVtW11cbiAgLyoqIEEgZ2VuZXJhbGx5IGluY3JlYXNpbmcgaW50ZWdlciAodGhlcmUgbWF5IGJlIGdhcHMgb3IgZHVwbGljYXRlcykgdGhhdCByZXByZXNlbnRzIHRoZSBhcHByb3hpbWF0ZSBwb3NpdGlvbiBvZiB0aGUgbWVzc2FnZSBpbiBhIHRocmVhZCwgaXQgY2FuIGJlIHVzZWQgdG8gZXN0aW1hdGUgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIGluIGEgdGhyZWFkIGluIGNvbXBhbnkgd2l0aCBgdG90YWxfbWVzc2FnZV9zZW50YCBvbiBwYXJlbnQgdGhyZWFkICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgcG9sbCBvYmplY3QgKi9cbiAgcG9sbD86IERpc2NvcmRQb2xsXG4gIC8qKiBUaGUgY2FsbCBhc3NvY2lhdGVkIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgY2FsbD86IERpc2NvcmRNZXNzYWdlQ2FsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1jYWxsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUNhbGwge1xuICAvKiogQXJyYXkgb2YgdXNlciBvYmplY3QgaWRzIHRoYXQgcGFydGljaXBhdGVkIGluIHRoZSBjYWxsICovXG4gIHBhcnRpY2lwYW50czogc3RyaW5nW11cbiAgLyoqIFRpbWUgd2hlbiBjYWxsIGVuZGVkICovXG4gIGVuZGVkX3RpbWVzdGFtcDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNjaGFubmVsLW1lbnRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsTWVudGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgY29udGFpbmluZyB0aGUgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU6IG51bWJlclxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNyZWFjdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uIHtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiB0aW1lcyB0aGlzIGVtb2ppIGhhcyBiZWVuIHVzZWQgdG8gcmVhY3QgKGluY2x1ZGluZyBzdXBlciByZWFjdHMpICovXG4gIGNvdW50OiBudW1iZXJcbiAgLyoqXHRSZWFjdGlvbiBjb3VudCBkZXRhaWxzIG9iamVjdCAqL1xuICBjb3VudF9kZXRhaWxzOiBEaXNjb3JkUmVhY3Rpb25Db3VudERldGFpbHNcbiAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciByZWFjdGVkIHVzaW5nIHRoaXMgZW1vamkgKi9cbiAgbWU6IGJvb2xlYW5cbiAgLyoqXHRXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgc3VwZXItcmVhY3RlZCB1c2luZyB0aGlzIGVtb2ppICovXG4gIG1lX2J1cnN0OiBib29sZWFuXG4gIC8qKiBFbW9qaSBpbmZvcm1hdGlvbiAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBIRVggY29sb3JzIHVzZWQgZm9yIHN1cGVyIHJlYWN0aW9uICovXG4gIGJ1cnN0X2NvbG9yczogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI3JlYWN0aW9uLWNvdW50LWRldGFpbHMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSZWFjdGlvbkNvdW50RGV0YWlscyB7XG4gIC8qKiBDb3VudCBvZiBzdXBlciByZWFjdGlvbnMgKi9cbiAgYnVyc3Q6IG51bWJlclxuICAvKipcdENvdW50IG9mIG5vcm1hbCByZWFjdGlvbnMgKi9cbiAgbm9ybWFsOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2Utb2JqZWN0LW1lc3NhZ2UtYWN0aXZpdHktc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlQWN0aXZpdHkge1xuICAvKiogVHlwZSBvZiBtZXNzYWdlIGFjdGl2aXR5ICovXG4gIHR5cGU6IE1lc3NhZ2VBY3Rpdml0eVR5cGVzXG4gIC8qKiBgcGFydHlfaWRgIGZyb20gYSBSaWNoIFByZXNlbmNlIGV2ZW50ICovXG4gIHBhcnR5X2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdC1tZXNzYWdlLXJlZmVyZW5jZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VSZWZlcmVuY2Uge1xuICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKipcbiAgICogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBjaGFubmVsXG4gICAqIE5vdGU6IGBjaGFubmVsX2lkYCBpcyBvcHRpb25hbCB3aGVuIGNyZWF0aW5nIGEgcmVwbHksIGJ1dCB3aWxsIGFsd2F5cyBiZSBwcmVzZW50IHdoZW4gcmVjZWl2aW5nIGFuIGV2ZW50L3Jlc3BvbnNlIHRoYXQgaW5jbHVkZXMgdGhpcyBkYXRhIG1vZGVsLlxuICAgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogV2hlbiBzZW5kaW5nLCB3aGV0aGVyIHRvIGVycm9yIGlmIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgZG9lc24ndCBleGlzdCBpbnN0ZWFkIG9mIHNlbmRpbmcgYXMgYSBub3JtYWwgKG5vbi1yZXBseSkgbWVzc2FnZSwgZGVmYXVsdCB0cnVlICovXG4gIGZhaWxfaWZfbm90X2V4aXN0czogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGwge1xuICAvKiogVGhlIHF1ZXN0aW9uIG9mIHRoZSBwb2xsLiBPbmx5IGB0ZXh0YCBpcyBzdXBwb3J0ZWQuICovXG4gIHF1ZXN0aW9uOiBEaXNjb3JkUG9sbE1lZGlhXG4gIC8qKiBFYWNoIG9mIHRoZSBhbnN3ZXJzIGF2YWlsYWJsZSBpbiB0aGUgcG9sbC4gVGhlcmUgaXMgYSBtYXhpbXVtIG9mIDEwIGFuc3dlcnMgcGVyIHBvbGwuICovXG4gIGFuc3dlcnM6IERpc2NvcmRQb2xsQW5zd2VyW11cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHdoZW4gdGhlIHBvbGwgZW5kcy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogYGV4cGlyeWAgaXMgbWFya2VkIGFzIG51bGxhYmxlIHRvIHN1cHBvcnQgbm9uLWV4cGlyaW5nIHBvbGxzIGluIHRoZSBmdXR1cmUsIGJ1dCBhbGwgcG9sbHMgaGF2ZSBhbiBleHBpcnkgY3VycmVudGx5LlxuICAgKi9cbiAgZXhwaXJ5OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIGEgdXNlciBjYW4gc2VsZWN0IG11bHRpcGxlIGFuc3dlcnMgKi9cbiAgYWxsb3dfbXVsdGlzZWxlY3Q6IGJvb2xlYW5cbiAgLyoqIFRoZSBsYXlvdXQgdHlwZSBvZiB0aGUgcG9sbCAqL1xuICBsYXlvdXRfdHlwZTogRGlzY29yZFBvbGxMYXlvdXRUeXBlXG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0cyBvZiB0aGUgcG9sbFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIHdpbGwgbm90IGJlIHNlbnQgYnkgZGlzY29yZCB1bmRlciBzcGVjaWZpYyBjb25kaXRpb25zIHdoZXJlIHRoZXkgZG9uJ3QgZmV0Y2ggdGhlbSBvbiB0aGVpciBiYWNrZW5kLiBXaGVuIHRoaXMgdmFsdWUgaXMgbWlzc2luZyBpdCBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgXCJVbmtub3duIHJlc3VsdHNcIiBhbmQgbm90IGFzIFwiTm8gcmVzdWx0c1wiXG4gICAqIFRoZSByZXN1bHRzIG1heSBub3QgYmUgdG90YWxseSBhY2N1cmF0ZSB3aGlsZSB0aGUgcG9sbCBoYXMgbm90IGVuZGVkLiBXaGVuIGl0IGVuZHMgZGlzY29yZCB3aWxsIHJlLWNhbGN1bGF0ZSBhbGwgdGhlIHJlc3VsdHMgYW5kIHNldCB7QGxpbmsgRGlzY29yZFBvbGxSZXN1bHQuaXNfZmluYWxpemVkfSB0byB0cnVlXG4gICAqL1xuICByZXN1bHRzPzogRGlzY29yZFBvbGxSZXN1bHRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI2xheW91dC10eXBlICovXG5leHBvcnQgZW51bSBEaXNjb3JkUG9sbExheW91dFR5cGUge1xuICAvKiogVGhlIGRlZmF1bHQgbGF5b3V0ICovXG4gIERlZmF1bHQgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1tZWRpYS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxNZWRpYSB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCBvZiB0aGUgZmllbGRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogYHRleHRgIHNob3VsZCBhbHdheXMgYmUgbm9uLW51bGwgZm9yIGJvdGggcXVlc3Rpb25zIGFuZCBhbnN3ZXJzLCBidXQgdGhpcyBpcyBzdWJqZWN0IHRvIGNoYW5nZXMuXG4gICAqIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBgdGV4dGAgaXMgMzAwIGZvciB0aGUgcXVlc3Rpb24sIGFuZCA1NSBmb3IgYW55IGFuc3dlci5cbiAgICovXG4gIHRleHQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBlbW9qaSBvZiB0aGUgZmllbGRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBhIHBvbGwgYW5zd2VyIHdpdGggYW4gZW1vamksIG9uZSBvbmx5IG5lZWRzIHRvIHNlbmQgZWl0aGVyIHRoZSBgaWRgIChjdXN0b20gZW1vamkpIG9yIGBuYW1lYCAoZGVmYXVsdCBlbW9qaSkgYXMgdGhlIG9ubHkgZmllbGQuXG4gICAqL1xuICBlbW9qaT86IFBhcnRpYWw8RGlzY29yZEVtb2ppPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1hbnN3ZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsQW5zd2VyIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgYW5zd2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaWQgbGFiZWxzIGVhY2ggYW5zd2VyLiBJdCBzdGFydHMgYXQgMSBhbmQgZ29lcyB1cCBzZXF1ZW50aWFsbHkuIERpc2NvcmQgcmVjb21tZW5kIGFnYWluc3QgZGVwZW5kaW5nIG9uIHRoaXMgdmFsdWUgYXMgaXMgYSBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG4gICAqL1xuICBhbnN3ZXJfaWQ6IG51bWJlclxuICAvKiogVGhlIGRhdGEgb2YgdGhlIGFuc3dlciAqL1xuICBwb2xsX21lZGlhOiBEaXNjb3JkUG9sbE1lZGlhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxBbnN3ZXJDb3VudCB7XG4gIC8qKiBUaGUge0BsaW5rIERpc2NvcmRQb2xsQW5zd2VyLmFuc3dlcl9pZCB8IGFuc3dlcl9pZH0gKi9cbiAgaWQ6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiB2b3RlcyBmb3IgdGhpcyBhbnN3ZXIgKi9cbiAgY291bnQ6IG51bWJlclxuICAvKiogV2hldGhlciB0aGUgY3VycmVudCB1c2VyIHZvdGVkIGZvciB0aGlzIGFuc3dlciAqL1xuICBtZV92b3RlZDogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1yZXN1bHRzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbFJlc3VsdCB7XG4gIC8qKiBXaGV0aGVyIHRoZSB2b3RlcyBoYXZlIGJlZW4gcHJlY2lzZWx5IGNvdW50ZWQgKi9cbiAgaXNfZmluYWxpemVkOiBib29sZWFuXG4gIC8qKiBUaGUgY291bnRzIGZvciBlYWNoIGFuc3dlciAqL1xuICBhbnN3ZXJfY291bnRzOiBEaXNjb3JkUG9sbEFuc3dlckNvdW50W11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI2dldC1hbnN3ZXItdm90ZXJzLXJlc3BvbnNlLWJvZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdldEFuc3dlclZvdGVzUmVzcG9uc2Uge1xuICAvKiogVXNlcnMgd2hvIHZvdGVkIGZvciB0aGlzIGFuc3dlciAqL1xuICB1c2VyczogRGlzY29yZFVzZXJbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXktZXZlbnRzI21lc3NhZ2UtcG9sbC12b3RlLWFkZCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbFZvdGVBZGQge1xuICAvKiogSUQgb2YgdGhlIHVzZXIuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgY2hhbm5lbC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBtZXNzYWdlLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgYW5zd2VyLiAqL1xuICBhbnN3ZXJfaWQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXktZXZlbnRzI21lc3NhZ2UtcG9sbC12b3RlLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbFZvdGVSZW1vdmUge1xuICAvKiogSUQgb2YgdGhlIHVzZXIuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgY2hhbm5lbC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBtZXNzYWdlLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgYW5zd2VyLiAqL1xuICBhbnN3ZXJfaWQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0aWNrZXIge1xuICAvKiogW0lkIG9mIHRoZSBzdGlja2VyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIHBhY2sgdGhlIHN0aWNrZXIgaXMgZnJvbSAqL1xuICBwYWNrX2lkPzogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSBzdGlja2VyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIHN0aWNrZXIgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogYSB1bmljb2RlIGVtb2ppIHJlcHJlc2VudGluZyB0aGUgc3RpY2tlcidzIGV4cHJlc3Npb24gKi9cbiAgdGFnczogc3RyaW5nXG4gIC8qKiBbdHlwZSBvZiBzdGlja2VyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLXR5cGVzKSAqL1xuICB0eXBlOiBTdGlja2VyVHlwZXNcbiAgLyoqIFtUeXBlIG9mIHN0aWNrZXIgZm9ybWF0XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLWZvcm1hdC10eXBlcykgKi9cbiAgZm9ybWF0X3R5cGU6IFN0aWNrZXJGb3JtYXRUeXBlc1xuICAvKiogIFdoZXRoZXIgb3Igbm90IHRoZSBzdGlja2VyIGlzIGF2YWlsYWJsZSAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG4gIC8qKiBJZCBvZiB0aGUgZ3VpbGQgdGhhdCBvd25zIHRoaXMgc3RpY2tlciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgdGhhdCB1cGxvYWRlZCB0aGUgc3RpY2tlciAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEEgc3RpY2tlcidzIHNvcnQgb3JkZXIgd2l0aGluIGEgcGFjayAqL1xuICBzb3J0X3ZhbHVlPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI21lc3NhZ2UtaW50ZXJhY3Rpb24tb2JqZWN0LW1lc3NhZ2UtaW50ZXJhY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb24ge1xuICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvbkNvbW1hbmQgaW5jbHVkaW5nIHRoZSBuYW1lIG9mIHRoZSBzdWJjb21tYW5kL3N1YmNvbW1hbmQgZ3JvdXAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gaW52b2tlZCB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIGludm9rZWQgdGhlIGludGVyYWN0aW9uIGluIHRoZSBndWlsZCAqL1xuICBtZW1iZXI/OiBQYXJ0aWFsPERpc2NvcmRNZW1iZXI+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLWludGVyYWN0aW9uLW1ldGFkYXRhLW9iamVjdC1tZXNzYWdlLWludGVyYWN0aW9uLW1ldGFkYXRhLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEge1xuICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIFVzZXIgd2hvIHRyaWdnZXJlZCB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIElEcyBmb3IgaW5zdGFsbGF0aW9uIGNvbnRleHQocykgcmVsYXRlZCB0byBhbiBpbnRlcmFjdGlvbiAqL1xuICBhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnM6IFBhcnRpYWw8UmVjb3JkPERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgc3RyaW5nPj5cbiAgLyoqIElEIG9mIHRoZSBvcmlnaW5hbCByZXNwb25zZSBtZXNzYWdlLCBwcmVzZW50IG9ubHkgb24gZm9sbG93LXVwIG1lc3NhZ2VzICovXG4gIG9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBtZXNzYWdlIHRoYXQgY29udGFpbmVkIGludGVyYWN0aXZlIGNvbXBvbmVudCwgcHJlc2VudCBvbmx5IG9uIG1lc3NhZ2VzIGNyZWF0ZWQgZnJvbSBjb21wb25lbnQgaW50ZXJhY3Rpb25zICovXG4gIGludGVyYWN0ZWRfbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKiogTWV0YWRhdGEgZm9yIHRoZSBpbnRlcmFjdGlvbiB0aGF0IHdhcyB1c2VkIHRvIG9wZW4gdGhlIG1vZGFsLCBwcmVzZW50IG9ubHkgb24gbW9kYWwgc3VibWl0IGludGVyYWN0aW9ucyAqL1xuICB0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhPzogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50cyA9IERpc2NvcmRBY3Rpb25Sb3dbXVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNhY3Rpb25yb3cgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGlvblJvdyB7XG4gIC8qKiBBY3Rpb24gcm93cyBhcmUgYSBncm91cCBvZiBidXR0b25zLiAqL1xuICB0eXBlOiAxXG4gIC8qKiBUaGUgY29tcG9uZW50cyBpbiB0aGlzIHJvdyAqL1xuICBjb21wb25lbnRzOiBBcnJheTxEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCB8IERpc2NvcmRCdXR0b25Db21wb25lbnQgfCBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50PlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNzZWxlY3QtbWVudS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVxuICAvKiogQSBjdXN0b20gaWRlbnRpZmllciBmb3IgdGhpcyBjb21wb25lbnQuIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIGN1c3RvbV9pZDogc3RyaW5nXG4gIC8qKiBBIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIE1heGltdW0gMTUwIGNoYXJhY3RlcnMuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIC8qKiBUaGUgbWluaW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBtdXN0IGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIEJldHdlZW4gMS0yNS4gKi9cbiAgbWluX3ZhbHVlcz86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIEJldHdlZW4gMS0yNS4gKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlclxuICAvKiogTGlzdCBvZiBjaGFubmVsIHR5cGVzIHRvIGluY2x1ZGUgaW4gYSBjaGFubmVsIHNlbGVjdCBtZW51IG9wdGlvbnMgbGlzdCAqL1xuICBjaGFubmVsVHlwZXM/OiBDaGFubmVsVHlwZXNbXVxuICAvKiogVGhlIGNob2ljZXMhIE1heGltdW0gb2YgMjUgaXRlbXMuICovXG4gIG9wdGlvbnM6IERpc2NvcmRTZWxlY3RPcHRpb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RPcHRpb24ge1xuICAvKiogVGhlIHVzZXItZmFjaW5nIG5hbWUgb2YgdGhlIG9wdGlvbi4gTWF4aW11bSAyNSBjaGFyYWN0ZXJzLiAqL1xuICBsYWJlbDogc3RyaW5nXG4gIC8qKiBUaGUgZGV2LWRlZmluZWQgdmFsdWUgb2YgdGhlIG9wdGlvbi4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgdmFsdWU6IHN0cmluZ1xuICAvKiogQW4gYWRkaXRpb25hbCBkZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDUwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQsIG5hbWUsIGFuZCBhbmltYXRlZCBwcm9wZXJ0aWVzIG9mIGFuIGVtb2ppLiAqL1xuICBlbW9qaT86IHtcbiAgICAvKiogRW1vamkgaWQgKi9cbiAgICBpZD86IHN0cmluZ1xuICAgIC8qKiBFbW9qaSBuYW1lICovXG4gICAgbmFtZT86IHN0cmluZ1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgICBhbmltYXRlZD86IGJvb2xlYW5cbiAgfVxuICAvKiogV2lsbCByZW5kZXIgdGhpcyBvcHRpb24gYXMgYWxyZWFkeS1zZWxlY3RlZCBieSBkZWZhdWx0LiAqL1xuICBkZWZhdWx0PzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNzZWxlY3QtbWVudS1vYmplY3Qtc2VsZWN0LWRlZmF1bHQtdmFsdWUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RNZW51RGVmYXVsdFZhbHVlIHtcbiAgLyoqIElEIG9mIGEgdXNlciwgcm9sZSwgb3IgY2hhbm5lbCAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBUeXBlIG9mIHZhbHVlIHRoYXQgaWQgcmVwcmVzZW50cy4gKi9cbiAgdHlwZTogJ3VzZXInIHwgJ3JvbGUnIHwgJ2NoYW5uZWwnXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvbWVzc2FnZS1jb21wb25lbnRzI2J1dHRvbnMtYnV0dG9uLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHtcbiAgLyoqIEFsbCBidXR0b24gY29tcG9uZW50cyBoYXZlIHR5cGUgMiAqL1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uXG4gIC8qKiBmb3Igd2hhdCB0aGUgYnV0dG9uIHNheXMgKG1heCA4MCBjaGFyYWN0ZXJzKSAqL1xuICBsYWJlbD86IHN0cmluZ1xuICAvKiogYSBkZXYtZGVmaW5lZCB1bmlxdWUgc3RyaW5nIHNlbnQgb24gY2xpY2sgKG1heCAxMDAgY2hhcmFjdGVycykuIHR5cGUgNSBMaW5rIGJ1dHRvbnMgY2FuIG5vdCBoYXZlIGEgY3VzdG9tX2lkICovXG4gIGN1c3RvbV9pZD86IHN0cmluZ1xuICAvKiogRm9yIGRpZmZlcmVudCBzdHlsZXMvY29sb3JzIG9mIHRoZSBidXR0b25zICovXG4gIHN0eWxlOiBCdXR0b25TdHlsZXNcbiAgLyoqIEVtb2ppIG9iamVjdCB0aGF0IGluY2x1ZGVzIGZpZWxkcyBvZiBuYW1lLCBpZCwgYW5kIGFuaW1hdGVkIHN1cHBvcnRpbmcgdW5pY29kZSBhbmQgY3VzdG9tIGVtb2ppcy4gKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqIG9wdGlvbmFsIHVybCBmb3IgbGluay1zdHlsZSBidXR0b25zIHRoYXQgY2FuIG5hdmlnYXRlIGEgdXNlciB0byB0aGUgd2ViLiBPbmx5IHR5cGUgNSBMaW5rIGJ1dHRvbnMgY2FuIGhhdmUgYSB1cmwgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGJ1dHRvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjdGV4dC1pbnB1dHMtdGV4dC1pbnB1dC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZElucHV0VGV4dENvbXBvbmVudCB7XG4gIC8qKiBJbnB1dFRleHQgQ29tcG9uZW50IGlzIG9mIHR5cGUgMyAqL1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuSW5wdXRUZXh0XG4gIC8qKiBUaGUgc3R5bGUgb2YgdGhlIElucHV0VGV4dCAqL1xuICBzdHlsZTogVGV4dFN0eWxlc1xuICAvKiogd2hldGhlciB0aGlzIGNvbXBvbmVudCBpcyByZXF1aXJlZCB0byBiZSBmaWxsZWQsIGRlZmF1bHQgdHJ1ZSAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgLyoqIFRoZSBjdXN0b21JZCBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbGFiZWwgb2YgdGhlIElucHV0VGV4dCAobWF4IDQ1IGNoYXJhY3RlcnMpICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqIFRoZSBwbGFjZWhvbGRlciBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIC8qKiBUaGUgbWluaW11bSBsZW5ndGggb2YgdGhlIHRleHQgdGhlIHVzZXIgaGFzIHRvIHByb3ZpZGUgKi9cbiAgbWluX2xlbmd0aD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSB0ZXh0IHRoZSB1c2VyIGhhcyB0byBwcm92aWRlICovXG4gIG1heF9sZW5ndGg/OiBudW1iZXJcbiAgLyoqIFByZS1maWxsZWQgdmFsdWUgZm9yIGlucHV0IHRleHQuICovXG4gIHZhbHVlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLWl0ZW0tb2JqZWN0LXN0aWNrZXItaXRlbS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0aWNrZXJJdGVtIHtcbiAgLyoqIElkIG9mIHRoZSBzdGlja2VyICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHN0aWNrZXIgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBbVHlwZSBvZiBzdGlja2VyIGZvcm1hdF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1mb3JtYXQtdHlwZXMpICovXG4gIGZvcm1hdF90eXBlOiBTdGlja2VyRm9ybWF0VHlwZXNcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItcGFjay1vYmplY3Qtc3RpY2tlci1wYWNrLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RpY2tlclBhY2sge1xuICAvKiogaWQgb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgc3RpY2tlcnMgaW4gdGhlIHBhY2sgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbiAgLyoqIG5hbWUgb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBwYWNrJ3MgU0tVICovXG4gIHNrdV9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiBhIHN0aWNrZXIgaW4gdGhlIHBhY2sgd2hpY2ggaXMgc2hvd24gYXMgdGhlIHBhY2sncyBpY29uICovXG4gIGNvdmVyX3N0aWNrZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIGRlc2NyaXB0aW9uIG9mIHRoZSBzdGlja2VyIHBhY2sgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHN0aWNrZXIgcGFjaydzIFtiYW5uZXIgaW1hZ2VdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSNpbWFnZS1mb3JtYXR0aW5nKSAqL1xuICBiYW5uZXJfYXNzZXRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb24ge1xuICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGlzIGludGVyYWN0aW9uIGlzIGZvciAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgZ3VpbGQgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBjaGFubmVsOiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxuICAvKipcbiAgICogVGhlIElEIG9mIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBiZWdpbiB1c2luZyB0aGlzIGNoYW5uZWwgZmllbGQgdG8gaWRlbnRpZnkgdGhlIHNvdXJjZSBjaGFubmVsIG9mIHRoZSBpbnRlcmFjdGlvbiBhcyB0aGV5IG1heSBkZXByZWNhdGUgdGhlIGV4aXN0aW5nIGNoYW5uZWxfaWQgZmllbGQgaW4gdGhlIGZ1dHVyZS5cbiAgICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmdcbiAgLyoqIEd1aWxkIG1lbWJlciBkYXRhIGZvciB0aGUgaW52b2tpbmcgdXNlciwgaW5jbHVkaW5nIHBlcm1pc3Npb25zICovXG4gIG1lbWJlcj86IERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlclxuICAvKiogVXNlciBvYmplY3QgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpZiBpbnZva2VkIGluIGEgRE0gKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBBIGNvbnRpbnVhdGlvbiB0b2tlbiBmb3IgcmVzcG9uZGluZyB0byB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogUmVhZC1vbmx5IHByb3BlcnR5LCBhbHdheXMgYDFgICovXG4gIHZlcnNpb246IDFcbiAgLyoqIEZvciB0aGUgbWVzc2FnZSB0aGUgYnV0dG9uIHdhcyBhdHRhY2hlZCB0byAqL1xuICBtZXNzYWdlPzogRGlzY29yZE1lc3NhZ2VcbiAgLyoqIHRoZSBjb21tYW5kIGRhdGEgcGF5bG9hZCAqL1xuICBkYXRhPzogRGlzY29yZEludGVyYWN0aW9uRGF0YVxuICAvKiogVGhlIHNlbGVjdGVkIGxhbmd1YWdlIG9mIHRoZSBpbnZva2luZyB1c2VyICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkJ3MgcHJlZmVycmVkIGxvY2FsZSwgaWYgaW52b2tlZCBpbiBhIGd1aWxkICovXG4gIGd1aWxkX2xvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciBhIGJvdCBvciBhcHAgaW4gdGhlIGNvbnRleHQgb2YgYSBzcGVjaWZpYyBpbnRlcmFjdGlvbiAoaW5jbHVkaW5nIGNoYW5uZWwgb3ZlcndyaXRlcykgKi9cbiAgYXBwX3Blcm1pc3Npb25zOiBzdHJpbmdcbiAgLyoqIEZvciBtb25ldGl6ZWQgYXBwcywgYW55IGVudGl0bGVtZW50cyBmb3IgdGhlIGludm9raW5nIHVzZXIsIHJlcHJlc2VudGluZyBhY2Nlc3MgdG8gcHJlbWl1bSBTS1VzICovXG4gIGVudGl0bGVtZW50czogRGlzY29yZEVudGl0bGVtZW50W11cbiAgLyoqIE1hcHBpbmcgb2YgaW5zdGFsbGF0aW9uIGNvbnRleHRzIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBhdXRob3JpemVkIGZvciB0byByZWxhdGVkIHVzZXIgb3IgZ3VpbGQgSURzLiAqL1xuICBhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnM6IFBhcnRpYWw8UmVjb3JkPERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgc3RyaW5nPj5cbiAgLyoqIENvbnRleHQgd2hlcmUgdGhlIGludGVyYWN0aW9uIHdhcyB0cmlnZ2VyZWQgZnJvbSAqL1xuICBjb250ZXh0PzogRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1tZW1iZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlciBleHRlbmRzIERpc2NvcmRNZW1iZXJXaXRoVXNlciB7XG4gIC8qKiBUb3RhbCBwZXJtaXNzaW9ucyBvZiB0aGUgbWVtYmVyIGluIHRoZSBjaGFubmVsLCBpbmNsdWRpbmcgb3ZlcndyaXRlcywgcmV0dXJuZWQgd2hlbiBpbiB0aGUgaW50ZXJhY3Rpb24gb2JqZWN0ICovXG4gIHBlcm1pc3Npb25zOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGNvbXBvbmVudCAqL1xuICBjb21wb25lbnRfdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlc1xuICAvKiogVGhlIGN1c3RvbSBpZCBwcm92aWRlZCBmb3IgdGhpcyBjb21wb25lbnQuICovXG4gIGN1c3RvbV9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNvbXBvbmVudHMgaWYgaXRzIGEgTW9kYWwgU3VibWl0IGludGVyYWN0aW9uLiAqL1xuICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzXG4gIC8qKiBUaGUgdmFsdWVzIGNob3NlbiBieSB0aGUgdXNlci4gKi9cbiAgdmFsdWVzPzogc3RyaW5nW11cbiAgLyoqIFRoZSBJZCBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBpbnZva2VkIGNvbW1hbmQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgdHlwZSBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gIC8qKiBDb252ZXJ0ZWQgdXNlcnMgKyByb2xlcyArIGNoYW5uZWxzICsgYXR0YWNobWVudHMgKi9cbiAgcmVzb2x2ZWQ/OiB7XG4gICAgLyoqIFRoZSBJZHMgYW5kIE1lc3NhZ2Ugb2JqZWN0cyAqL1xuICAgIG1lc3NhZ2VzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZE1lc3NhZ2U+XG4gICAgLyoqIFRoZSBJZHMgYW5kIFVzZXIgb2JqZWN0cyAqL1xuICAgIHVzZXJzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZFVzZXI+XG4gICAgLyoqIFRoZSBJZHMgYW5kIHBhcnRpYWwgTWVtYmVyIG9iamVjdHMgKi9cbiAgICBtZW1iZXJzPzogUmVjb3JkPHN0cmluZywgT21pdDxEaXNjb3JkSW50ZXJhY3Rpb25NZW1iZXIsICd1c2VyJyB8ICdkZWFmJyB8ICdtdXRlJz4+XG4gICAgLyoqIFRoZSBJZHMgYW5kIFJvbGUgb2JqZWN0cyAqL1xuICAgIHJvbGVzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZFJvbGU+XG4gICAgLyoqIFRoZSBJZHMgYW5kIHBhcnRpYWwgQ2hhbm5lbCBvYmplY3RzICovXG4gICAgY2hhbm5lbHM/OiBSZWNvcmQ8c3RyaW5nLCBQaWNrPERpc2NvcmRDaGFubmVsLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnIHwgJ3Blcm1pc3Npb25zJz4+XG4gICAgLyoqIFRoZSBpZHMgYW5kIGF0dGFjaG1lbnQgb2JqZWN0cyAqL1xuICAgIGF0dGFjaG1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkQXR0YWNobWVudD5cbiAgfVxuICAvKiogVGhlIHBhcmFtcyArIHZhbHVlcyBmcm9tIHRoZSB1c2VyICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgLyoqIFRoZSB0YXJnZXQgaWQgaWYgdGhpcyBpcyBhIGNvbnRleHQgbWVudSBjb21tYW5kLiAqL1xuICB0YXJnZXRfaWQ/OiBzdHJpbmdcbiAgLyoqIHRoZSBpZCBvZiB0aGUgZ3VpbGQgdGhlIGNvbW1hbmQgaXMgcmVnaXN0ZXJlZCB0byAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICAvKiogTmFtZSBvZiB0aGUgcGFyYW1ldGVyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVmFsdWUgb2YgYXBwbGljYXRpb24gY29tbWFuZCBvcHRpb24gdHlwZSAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlc1xuICAvKiogVmFsdWUgb2YgdGhlIG9wdGlvbiByZXN1bHRpbmcgZnJvbSB1c2VyIGlucHV0ICovXG4gIHZhbHVlPzogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlclxuICAvKiogUHJlc2VudCBpZiB0aGlzIG9wdGlvbiBpcyBhIGdyb3VwIG9yIHN1YmNvbW1hbmQgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICAvKiogYHRydWVgIGlmIHRoaXMgb3B0aW9uIGlzIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBvcHRpb24gZm9yIGF1dG9jb21wbGV0ZSAqL1xuICBmb2N1c2VkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMaXN0QWN0aXZlVGhyZWFkcyB7XG4gIC8qKiBUaGUgYWN0aXZlIHRocmVhZHMgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogQSB0aHJlYWQgbWVtYmVyIG9iamVjdCBmb3IgZWFjaCByZXR1cm5lZCB0aHJlYWQgdGhlIGN1cnJlbnQgdXNlciBoYXMgam9pbmVkICovXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMaXN0QXJjaGl2ZWRUaHJlYWRzIGV4dGVuZHMgRGlzY29yZExpc3RBY3RpdmVUaHJlYWRzIHtcbiAgLyoqIFdoZXRoZXIgdGhlcmUgYXJlIHBvdGVudGlhbGx5IGFkZGl0aW9uYWwgdGhyZWFkcyB0aGF0IGNvdWxkIGJlIHJldHVybmVkIG9uIGEgc3Vic2VxdWVudCBjYWxsICovXG4gIGhhc19tb3JlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZExpc3RTeW5jIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHBhcmVudCBjaGFubmVsIGlkcyB3aG9zZSB0aHJlYWRzIGFyZSBiZWluZyBzeW5jZWQuIElmIG9taXR0ZWQsIHRoZW4gdGhyZWFkcyB3ZXJlIHN5bmNlZCBmb3IgdGhlIGVudGlyZSBndWlsZC4gVGhpcyBhcnJheSBtYXkgY29udGFpbiBjaGFubmVsSWRzIHRoYXQgaGF2ZSBubyBhY3RpdmUgdGhyZWFkcyBhcyB3ZWxsLCBzbyB5b3Uga25vdyB0byBjbGVhciB0aGF0IGRhdGEgKi9cbiAgY2hhbm5lbF9pZHM/OiBzdHJpbmdbXVxuICAvKiogQWxsIGFjdGl2ZSB0aHJlYWRzIGluIHRoZSBnaXZlbiBjaGFubmVscyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgY2FuIGFjY2VzcyAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBbGwgdGhyZWFkIG1lbWJlciBvYmplY3RzIGZyb20gdGhlIHN5bmNlZCB0aHJlYWRzIGZvciB0aGUgY3VycmVudCB1c2VyLCBpbmRpY2F0aW5nIHdoaWNoIHRocmVhZHMgdGhlIGN1cnJlbnQgdXNlciBoYXMgYmVlbiBhZGRlZCB0byAqL1xuICBtZW1iZXJzOiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXVkaXRMb2cge1xuICAvKiogTGlzdCBvZiB3ZWJob29rcyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIHdlYmhvb2tzOiBEaXNjb3JkV2ViaG9va1tdXG4gIC8qKiBMaXN0IG9mIHVzZXJzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgdXNlcnM6IERpc2NvcmRVc2VyW11cbiAgLyoqIExpc3Qgb2YgYXVkaXQgbG9nIGVudHJpZXMsIHNvcnRlZCBmcm9tIG1vc3QgdG8gbGVhc3QgcmVjZW50ICovXG4gIGF1ZGl0X2xvZ19lbnRyaWVzOiBEaXNjb3JkQXVkaXRMb2dFbnRyeVtdXG4gIC8qKiBMaXN0IG9mIHBhcnRpYWwgaW50ZWdyYXRpb24gb2JqZWN0cyAqL1xuICBpbnRlZ3JhdGlvbnM6IEFycmF5PFBhcnRpYWw8RGlzY29yZEludGVncmF0aW9uPj5cbiAgLyoqXG4gICAqIExpc3Qgb2YgdGhyZWFkcyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nLlxuICAgKiBUaHJlYWRzIHJlZmVyZW5jZWQgaW4gYFRIUkVBRF9DUkVBVEVgIGFuZCBgVEhSRUFEX1VQREFURWAgZXZlbnRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgdGhyZWFkcyBtYXAgc2luY2UgYXJjaGl2ZWQgdGhyZWFkcyBtaWdodCBub3QgYmUga2VwdCBpbiBtZW1vcnkgYnkgY2xpZW50cy5cbiAgICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIExpc3Qgb2YgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50cyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudHM/OiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRbXVxuICAvKiogTGlzdCBvZiBhdXRvIG1vZGVyYXRpb24gcnVsZXMgcmVmZXJlbmNlZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlcz86IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVbXVxuICAvKiogTGlzdCBvZiBhcHBsaWNhdGlvbiBjb21tYW5kcyByZWZlcmVuY2VkIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgYXBwbGljYXRpb25fY29tbWFuZHM6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1dG8tbW9kZXJhdGlvbiNhdXRvLW1vZGVyYXRpb24tcnVsZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhpcyBydWxlICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgcnVsZSAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgcnVsZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGlzIHJ1bGUuICovXG4gIGNyZWF0b3JfaWQ6IHN0cmluZ1xuICAvKiogSW5kaWNhdGVzIGluIHdoYXQgZXZlbnQgY29udGV4dCBhIHJ1bGUgc2hvdWxkIGJlIGNoZWNrZWQuICovXG4gIGV2ZW50X3R5cGU6IEF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlc1xuICAvKiogVGhlIHR5cGUgb2YgdHJpZ2dlciBmb3IgdGhpcyBydWxlICovXG4gIHRyaWdnZXJfdHlwZTogQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXNcbiAgLyoqIFRoZSBtZXRhZGF0YSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGEgcnVsZSBzaG91bGQgYmUgdHJpZ2dlcmVkLiAqL1xuICB0cmlnZ2VyX21ldGFkYXRhOiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhXG4gIC8qKiBBY3Rpb25zIHdoaWNoIHdpbGwgZXhlY3V0ZSB3aGVuZXZlciBhIHJ1bGUgaXMgdHJpZ2dlcmVkLiAqL1xuICBhY3Rpb25zOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25bXVxuICAvKiogV2hldGhlciB0aGUgcnVsZSBpcyBlbmFibGVkLiAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBUaGUgcm9sZSBpZHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQuIE1heCAyMC4gKi9cbiAgZXhlbXB0X3JvbGVzOiBzdHJpbmdbXVxuICAvKiogVGhlIGNoYW5uZWwgaWRzIHRoYXQgYXJlIHdoaXRlbGlzdGVkLiBNYXggNTAuICovXG4gIGV4ZW1wdF9jaGFubmVsczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGVudW0gQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIHtcbiAgLyoqIFdoZW4gYSB1c2VyIHNlbmRzIGEgbWVzc2FnZSAqL1xuICBNZXNzYWdlU2VuZCA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzIHtcbiAgS2V5d29yZCA9IDEsXG4gIEhhcm1mdWxMaW5rLFxuICBTcGFtLFxuICBLZXl3b3JkUHJlc2V0LFxuICBNZW50aW9uU3BhbSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhIHtcbiAgLyoqIFRoZSBrZXl3b3JkcyBuZWVkZWQgdG8gbWF0Y2guIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLktleXdvcmQgKi9cbiAga2V5d29yZF9maWx0ZXI/OiBzdHJpbmdbXVxuICAvKiogUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zIHdoaWNoIHdpbGwgYmUgbWF0Y2hlZCBhZ2FpbnN0IGNvbnRlbnQuIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLktleXdvcmQgKi9cbiAgcmVnZXhfcGF0dGVybnM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgcHJlLWRlZmluZWQgbGlzdHMgb2Ygd29yZHMgdG8gbWF0Y2ggZnJvbS4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuS2V5d29yZFByZXNldCAqL1xuICBwcmVzZXRzPzogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHNbXVxuICAvKiogVGhlIHN1YnN0cmluZ3Mgd2hpY2ggd2lsbCBleGVtcHQgZnJvbSB0cmlnZ2VyaW5nIHRoZSBwcmVzZXQgdHJpZ2dlciB0eXBlLiBPbmx5IHByZXNlbnQgd2hlbiBUcmlnZ2VyVHlwZS5LZXl3b3JkUHJlc2V0ICovXG4gIGFsbG93X2xpc3Q/OiBzdHJpbmdbXVxuICAvKiogVG90YWwgbnVtYmVyIG9mIG1lbnRpb25zIChyb2xlICYgdXNlcikgYWxsb3dlZCBwZXIgbWVzc2FnZSAoTWF4aW11bSBvZiA1MCkuIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLk1lbnRpb25TcGFtICovXG4gIG1lbnRpb25fdG90YWxfbGltaXQ/OiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgbWVudGlvbiByYWlkcy4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuTWVudGlvblNwYW0gKi9cbiAgbWVudGlvbl9yYWlkX3Byb3RlY3Rpb25fZW5hYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHMge1xuICAvKiogV29yZHMgdGhhdCBtYXkgYmUgY29uc2lkZXJlZCBmb3JtcyBvZiBzd2VhcmluZyBvciBjdXJzaW5nICovXG4gIFByb2Zhbml0eSA9IDEsXG4gIC8qKiBXb3JkcyB0aGF0IHJlZmVyIHRvIHNleHVhbGx5IGV4cGxpY2l0IGJlaGF2aW9yIG9yIGFjdGl2aXR5ICovXG4gIFNleHVhbENvbnRlbnQsXG4gIC8qKiBQZXJzb25hbCBpbnN1bHRzIG9yIHdvcmRzIHRoYXQgbWF5IGJlIGNvbnNpZGVyZWQgaGF0ZSBzcGVlY2ggKi9cbiAgU2x1cnMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGFjdGlvbiB0byB0YWtlIHdoZW4gYSBydWxlIGlzIHRyaWdnZXJlZCAqL1xuICB0eXBlOiBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGVcbiAgLyoqIGFkZGl0aW9uYWwgbWV0YWRhdGEgbmVlZGVkIGR1cmluZyBleGVjdXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgYWN0aW9uIHR5cGUgKi9cbiAgbWV0YWRhdGE6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZSB7XG4gIC8qKiBCbG9ja3MgdGhlIGNvbnRlbnQgb2YgYSBtZXNzYWdlIGFjY29yZGluZyB0byB0aGUgcnVsZSAqL1xuICBCbG9ja01lc3NhZ2UgPSAxLFxuICAvKiogTG9ncyB1c2VyIGNvbnRlbnQgdG8gYSBzcGVjaWZpZWQgY2hhbm5lbCAqL1xuICBTZW5kQWxlcnRNZXNzYWdlLFxuICAvKiogVGltZXMgb3V0IHVzZXIgZm9yIHNwZWNpZmllZCBkdXJhdGlvbiAqL1xuICBUaW1lb3V0LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFRoZSBpZCBvZiBjaGFubmVsIHRvIHdoaWNoIHVzZXIgY29udGVudCBzaG91bGQgYmUgbG9nZ2VkLiBPbmx5IGluIEFjdGlvblR5cGUuU2VuZEFsZXJ0TWVzc2FnZSAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKiBBZGRpdGlvbmFsIGV4cGxhbmF0aW9uIHRoYXQgd2lsbCBiZSBzaG93biB0byBtZW1iZXJzIHdoZW5ldmVyIHRoZWlyIG1lc3NhZ2UgaXMgYmxvY2tlZC4gTWF4aW11bSBvZiAxNTAgY2hhcmFjdGVycy4gT25seSBzdXBwb3J0ZWQgZm9yIEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZS5CbG9ja01lc3NhZ2UgKi9cbiAgY3VzdG9tX21lc3NhZ2U/OiBzdHJpbmdcbiAgLyoqIFRpbWVvdXQgZHVyYXRpb24gaW4gc2Vjb25kcyBtYXhpbXVtIG9mIDI0MTkyMDAgc2Vjb25kcyAoNCB3ZWVrcykuIE9ubHkgc3VwcG9ydGVkIGZvciBUcmlnZ2VyVHlwZS5LZXl3b3JkICYmIE9ubHkgaW4gQWN0aW9uVHlwZS5UaW1lb3V0ICovXG4gIGR1cmF0aW9uX3NlY29uZHM/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNhdXRvLW1vZGVyYXRpb24tYWN0aW9uLWV4ZWN1dGlvbi1hdXRvLW1vZGVyYXRpb24tYWN0aW9uLWV4ZWN1dGlvbi1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBydWxlIHRoYXQgd2FzIGV4ZWN1dGVkICovXG4gIHJ1bGVfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyIHdoaWNoIGdlbmVyYXRlZCB0aGUgY29udGVudCB3aGljaCB0cmlnZ2VyZWQgdGhlIHJ1bGUgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgY29udGVudCBmcm9tIHRoZSB1c2VyICovXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICAvKiogQWN0aW9uIHdoaWNoIHdhcyBleGVjdXRlZCAqL1xuICBhY3Rpb246IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvblxuICAvKiogVGhlIHRyaWdnZXIgdHlwZSBvZiB0aGUgcnVsZSB0aGF0IHdhcyBleGVjdXRlZC4gKi9cbiAgcnVsZV90cmlnZ2VyX3R5cGU6IEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgaW4gd2hpY2ggdXNlciBjb250ZW50IHdhcyBwb3N0ZWQgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZS4gV2lsbCBub3QgZXhpc3QgaWYgbWVzc2FnZSB3YXMgYmxvY2tlZCBieSBhdXRvbW9kIG9yIGNvbnRlbnQgd2FzIG5vdCBwYXJ0IG9mIGFueSBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgYW55IHN5c3RlbSBhdXRvIG1vZGVyYXRpb24gbWVzc2FnZXMgcG9zdGVkIGFzIGEgcmVzdWx0IG9mIHRoaXMgYWN0aW9uICovXG4gIGFsZXJ0X3N5c3RlbV9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHdvcmQgb3IgcGhyYXNlIHRoYXQgdHJpZ2dlcnJlZCB0aGUgcnVsZS4gKi9cbiAgbWF0Y2hlZF9rZXl3b3JkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgc3Vic3RyaW5nIGluIGNvbnRlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIHJ1bGUgKi9cbiAgbWF0Y2hlZF9jb250ZW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1lbnRyeS1vYmplY3QtYXVkaXQtbG9nLWVudHJ5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXVkaXRMb2dFbnRyeSB7XG4gIC8qKiBJRCBvZiB0aGUgYWZmZWN0ZWQgZW50aXR5ICh3ZWJob29rLCB1c2VyLCByb2xlLCBldGMuKSAqL1xuICB0YXJnZXRfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIENoYW5nZXMgbWFkZSB0byB0aGUgYHRhcmdldF9pZGAgKi9cbiAgY2hhbmdlcz86IERpc2NvcmRBdWRpdExvZ0NoYW5nZVtdXG4gIC8qKiBVc2VyIG9yIGFwcCB0aGF0IG1hZGUgdGhlIGNoYW5nZXMgKi9cbiAgdXNlcl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogSUQgb2YgdGhlIGVudHJ5ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgYWN0aW9uIHRoYXQgb2NjdXJyZWQgKi9cbiAgYWN0aW9uX3R5cGU6IEF1ZGl0TG9nRXZlbnRzXG4gIC8qKiBBZGRpdGlvbmFsIGluZm8gZm9yIGNlcnRhaW4gZXZlbnQgdHlwZXMgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvXG4gIC8qKiBSZWFzb24gZm9yIHRoZSBjaGFuZ2UgKDEtNTEyIGNoYXJhY3RlcnMpICovXG4gIHJlYXNvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctY2hhbmdlLW9iamVjdC1hdWRpdC1sb2ctY2hhbmdlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlID1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IHN0cmluZ1xuICAgICAgb2xkX3ZhbHVlOiBzdHJpbmdcbiAgICAgIGtleTpcbiAgICAgICAgfCAnbmFtZSdcbiAgICAgICAgfCAnZGVzY3JpcHRpb24nXG4gICAgICAgIHwgJ2Rpc2NvdmVyeV9zcGxhc2hfaGFzaCdcbiAgICAgICAgfCAnYmFubmVyX2hhc2gnXG4gICAgICAgIHwgJ3ByZWZlcnJlZF9sb2NhbGUnXG4gICAgICAgIHwgJ3J1bGVzX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ3B1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ2ljb25faGFzaCdcbiAgICAgICAgfCAnaW1hZ2VfaGFzaCdcbiAgICAgICAgfCAnc3BsYXNoX2hhc2gnXG4gICAgICAgIHwgJ293bmVyX2lkJ1xuICAgICAgICB8ICdyZWdpb24nXG4gICAgICAgIHwgJ2Fma19jaGFubmVsX2lkJ1xuICAgICAgICB8ICd2YW5pdHlfdXJsX2NvZGUnXG4gICAgICAgIHwgJ3dpZGdldF9jaGFubmVsX2lkJ1xuICAgICAgICB8ICdzeXN0ZW1fY2hhbm5lbF9pZCdcbiAgICAgICAgfCAndG9waWMnXG4gICAgICAgIHwgJ2FwcGxpY2F0aW9uX2lkJ1xuICAgICAgICB8ICdwZXJtaXNzaW9ucydcbiAgICAgICAgfCAnYWxsb3cnXG4gICAgICAgIHwgJ2RlbnknXG4gICAgICAgIHwgJ2NvZGUnXG4gICAgICAgIHwgJ2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ2ludml0ZXJfaWQnXG4gICAgICAgIHwgJ25pY2snXG4gICAgICAgIHwgJ2F2YXRhcl9oYXNoJ1xuICAgICAgICB8ICdpZCdcbiAgICAgICAgfCAnbG9jYXRpb24nXG4gICAgICAgIHwgJ2NvbW1hbmRfaWQnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogbnVtYmVyXG4gICAgICBvbGRfdmFsdWU6IG51bWJlclxuICAgICAga2V5OlxuICAgICAgICB8ICdhZmtfdGltZW91dCdcbiAgICAgICAgfCAnbWZhX2xldmVsJ1xuICAgICAgICB8ICd2ZXJpZmljYXRpb25fbGV2ZWwnXG4gICAgICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgICAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICAgICAgfCAncHJ1bmVfZGVsZXRlX2RheXMnXG4gICAgICAgIHwgJ3Bvc2l0aW9uJ1xuICAgICAgICB8ICdiaXRyYXRlJ1xuICAgICAgICB8ICdyYXRlX2xpbWl0X3Blcl91c2VyJ1xuICAgICAgICB8ICdjb2xvcidcbiAgICAgICAgfCAnbWF4X3VzZXMnXG4gICAgICAgIHwgJ3VzZXMnXG4gICAgICAgIHwgJ21heF9hZ2UnXG4gICAgICAgIHwgJ2V4cGlyZV9iZWhhdmlvcidcbiAgICAgICAgfCAnZXhwaXJlX2dyYWNlX3BlcmlvZCdcbiAgICAgICAgfCAndXNlcl9saW1pdCdcbiAgICAgICAgfCAncHJpdmFjeV9sZXZlbCdcbiAgICAgICAgfCAnYXV0b19hcmNoaXZlX2R1cmF0aW9uJ1xuICAgICAgICB8ICdkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbidcbiAgICAgICAgfCAnZW50aXR5X3R5cGUnXG4gICAgICAgIHwgJ3N0YXR1cydcbiAgICAgICAgfCAnY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCdcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBBcnJheTxQYXJ0aWFsPERpc2NvcmRSb2xlPj5cbiAgICAgIG9sZF92YWx1ZT86IEFycmF5PFBhcnRpYWw8RGlzY29yZFJvbGU+PlxuICAgICAga2V5OiAnJGFkZCcgfCAnJHJlbW92ZSdcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBib29sZWFuXG4gICAgICBvbGRfdmFsdWU6IGJvb2xlYW5cbiAgICAgIGtleTpcbiAgICAgICAgfCAnd2lkZ2V0X2VuYWJsZWQnXG4gICAgICAgIHwgJ25zZncnXG4gICAgICAgIHwgJ2hvaXN0J1xuICAgICAgICB8ICdtZW50aW9uYWJsZSdcbiAgICAgICAgfCAndGVtcG9yYXJ5J1xuICAgICAgICB8ICdkZWFmJ1xuICAgICAgICB8ICdtdXRlJ1xuICAgICAgICB8ICdlbmFibGVfZW1vdGljb25zJ1xuICAgICAgICB8ICdhcmNoaXZlZCdcbiAgICAgICAgfCAnbG9ja2VkJ1xuICAgICAgICB8ICdpbnZpdGFibGUnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogRGlzY29yZE92ZXJ3cml0ZVtdXG4gICAgICBvbGRfdmFsdWU6IERpc2NvcmRPdmVyd3JpdGVbXVxuICAgICAga2V5OiAncGVybWlzc2lvbl9vdmVyd3JpdGVzJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IHN0cmluZyB8IG51bWJlclxuICAgICAgb2xkX3ZhbHVlOiBzdHJpbmcgfCBudW1iZXJcbiAgICAgIGtleTogJ3R5cGUnXG4gICAgfVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctZW50cnktb2JqZWN0LW9wdGlvbmFsLWF1ZGl0LWVudHJ5LWluZm8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE9wdGlvbmFsQXVkaXRFbnRyeUluZm8ge1xuICAvKipcbiAgICogSUQgb2YgdGhlIGFwcCB3aG9zZSBwZXJtaXNzaW9ucyB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFQUExJQ0FUSU9OX0NPTU1BTkRfUEVSTUlTU0lPTl9VUERBVEVgXG4gICAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBdXRvIE1vZGVyYXRpb24gcnVsZSB0aGF0IHdhcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVVUT19NT0RFUkFUSU9OX0JMT0NLX01FU1NBR0VgLCBgQVVUT19NT0RFUkFUSU9OX0ZMQUdfVE9fQ0hBTk5FTGAsIGBBVVRPX01PREVSQVRJT05fVVNFUl9DT01NVU5JQ0FUSU9OX0RJU0FCTEVEYFxuICAgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVfbmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHR5cGUgb2YgdGhlIEF1dG8gTW9kZXJhdGlvbiBydWxlIHRoYXQgd2FzIHRyaWdnZXJlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBBVVRPX01PREVSQVRJT05fQkxPQ0tfTUVTU0FHRWAsIGBBVVRPX01PREVSQVRJT05fRkxBR19UT19DSEFOTkVMYCwgYEFVVE9fTU9ERVJBVElPTl9VU0VSX0NPTU1VTklDQVRJT05fRElTQUJMRURgXG4gICAqL1xuICBhdXRvX21vZGVyYXRpb25fcnVsZV90cmlnZ2VyX3R5cGU6IHN0cmluZ1xuICAvKipcbiAgICogQ2hhbm5lbCBpbiB3aGljaCB0aGUgZW50aXRpZXMgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfTU9WRWAsIGBNRVNTQUdFX1BJTmAsIGBNRVNTQUdFX1VOUElOYCwgYE1FU1NBR0VfREVMRVRFYCwgYFNUQUdFX0lOU1RBTkNFX0NSRUFURWAsIGBTVEFHRV9JTlNUQU5DRV9VUERBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfREVMRVRFYFxuICAgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZW50aXRpZXMgdGhhdCB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FU1NBR0VfREVMRVRFYCwgYE1FU1NBR0VfQlVMS19ERUxFVEVgLCBgTUVNQkVSX0RJU0NPTk5FQ1RgLCBgTUVNQkVSX01PVkVgXG4gICAqL1xuICBjb3VudDogc3RyaW5nXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCBpbmFjdGl2ZSBtZW1iZXJzIHdlcmUga2lja2VkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9QUlVORWBcbiAgICovXG4gIGRlbGV0ZV9tZW1iZXJfZGF5czogc3RyaW5nXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgb3ZlcndyaXR0ZW4gZW50aXR5LlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYENIQU5ORUxfT1ZFUldSSVRFX0NSRUFURWAsIGBDSEFOTkVMX09WRVJXUklURV9VUERBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfREVMRVRFYFxuICAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIG1lbWJlcnMgcmVtb3ZlZCBieSB0aGUgcHJ1bmUuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX1BSVU5FYFxuICAgKi9cbiAgbWVtYmVyc19yZW1vdmVkOiBzdHJpbmdcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBtZXNzYWdlIHRoYXQgd2FzIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FU1NBR0VfUElOYCwgYE1FU1NBR0VfVU5QSU5gLCBgU1RBR0VfSU5TVEFOQ0VfQ1JFQVRFYCwgYFNUQUdFX0lOU1RBTkNFX1VQREFURWAsIGBTVEFHRV9JTlNUQU5DRV9ERUxFVEVgXG4gICAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHJvbGUgaWYgdHlwZSBpcyBcIjBcIiAobm90IHByZXNlbnQgaWYgdHlwZSBpcyBcIjFcIikuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICByb2xlX25hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHlwZSBvZiBvdmVyd3JpdHRlbiBlbnRpdHkgLSBcIjBcIiwgZm9yIFwicm9sZVwiLCBvciBcIjFcIiBmb3IgXCJtZW1iZXJcIi5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIHR5cGU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgaW50ZWdyYXRpb24gd2hpY2ggcGVyZm9ybWVkIHRoZSBhY3Rpb25cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfS0lDS2AsIGBNRU1CRVJfUk9MRV9VUERBVEVgXG4gICAqL1xuICBpbnRlZ3JhdGlvbl90eXBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnQge1xuICAvKiogdGhlIGlkIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdGhlIGd1aWxkIGlkIHdoaWNoIHRoZSBzY2hlZHVsZWQgZXZlbnQgYmVsb25ncyB0byAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiB0aGUgY2hhbm5lbCBpZCBpbiB3aGljaCB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgYmUgaG9zdGVkIGlmIHNwZWNpZmllZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgaWQgb2YgdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcl9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBuYW1lIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogdGhlIHRpbWUgdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIHN0YXJ0ICovXG4gIHNjaGVkdWxlZF9zdGFydF90aW1lOiBzdHJpbmdcbiAgLyoqIHRoZSB0aW1lIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBlbmQgaWYgaXQgZG9lcyBlbmQuICovXG4gIHNjaGVkdWxlZF9lbmRfdGltZTogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHByaXZhY3kgbGV2ZWwgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBwcml2YWN5X2xldmVsOiBTY2hlZHVsZWRFdmVudFByaXZhY3lMZXZlbFxuICAvKiogdGhlIHN0YXR1cyBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHN0YXR1czogU2NoZWR1bGVkRXZlbnRTdGF0dXNcbiAgLyoqIHRoZSB0eXBlIG9mIGhvc3RpbmcgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCBhIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfdHlwZTogU2NoZWR1bGVkRXZlbnRFbnRpdHlUeXBlXG4gIC8qKiBhbnkgYWRkaXRpb25hbCBpZCBvZiB0aGUgaG9zdGluZyBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIGV2ZW50ICovXG4gIGVudGl0eV9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIGVudGl0eSBtZXRhZGF0YSBmb3IgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfbWV0YWRhdGE6IERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHwgbnVsbFxuICAvKiogdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcj86IERpc2NvcmRVc2VyXG4gIC8qKiB0aGUgbnVtYmVyIG9mIHVzZXJzIHN1YnNjcmliZWQgdG8gdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICB1c2VyX2NvdW50PzogbnVtYmVyXG4gIC8qKiB0aGUgY292ZXIgaW1hZ2UgaGFzaCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGltYWdlPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHtcbiAgLyoqIGxvY2F0aW9uIG9mIHRoZSBldmVudCAqL1xuICBsb2NhdGlvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ2V0LWdhdGV3YXktYm90ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHZXRHYXRld2F5Qm90IHtcbiAgLyoqIFRoZSBXU1MgVVJMIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIGdhdGV3YXkgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2Ygc2hhcmRzIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgKi9cbiAgc2hhcmRzOiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IHNlc3Npb24gc3RhcnQgbGltaXQgKi9cbiAgc2Vzc2lvbl9zdGFydF9saW1pdDogRGlzY29yZFNlc3Npb25TdGFydExpbWl0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNzZXNzaW9uLXN0YXJ0LWxpbWl0LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXQge1xuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9uIHN0YXJ0cyB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgKi9cbiAgdG90YWw6IG51bWJlclxuICAvKiogVGhlIHJlbWFpbmluZyBudW1iZXIgb2Ygc2Vzc2lvbiBzdGFydHMgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkICovXG4gIHJlbWFpbmluZzogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgbGltaXQgcmVzZXRzICovXG4gIHJlc2V0X2FmdGVyOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgaWRlbnRpZnkgcmVxdWVzdHMgYWxsb3dlZCBwZXIgNSBzZWNvbmRzICovXG4gIG1heF9jb25jdXJyZW5jeTogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvaW52aXRlI2ludml0ZS1tZXRhZGF0YS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZU1ldGFkYXRhIGV4dGVuZHMgRGlzY29yZEludml0ZSB7XG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgaGFzIGJlZW4gdXNlZCAqL1xuICB1c2VzOiBudW1iZXJcbiAgLyoqIE1heCBudW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4X3VzZXM6IG51bWJlclxuICAvKiogRHVyYXRpb24gKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSBpbnZpdGUgZXhwaXJlcyAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyBpbnZpdGUgb25seSBncmFudHMgdGVtcG9yYXJ5IG1lbWJlcnNoaXAgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBXaGVuIHRoaXMgaW52aXRlIHdhcyBjcmVhdGVkICovXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2ludml0ZSNpbnZpdGUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGUge1xuICAvKiogVGhlIGludml0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWw6IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+IHwgbnVsbFxuICAvKiogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZT86IFRhcmdldFR5cGVzXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldF91c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldF9hcHBsaWNhdGlvbj86IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPlxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2Ygb25saW5lIG1lbWJlcnMgKG9ubHkgcHJlc2VudCB3aGVuIHRhcmdldF91c2VyIGlzIHNldCkgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIGNvdW50IG9mIHRvdGFsIG1lbWJlcnMgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBgR0VUIC9pbnZpdGVzLzxjb2RlPmAgZW5kcG9pbnQgd2hlbiBgd2l0aF9leHBpcmF0aW9uYCBpcyBgdHJ1ZWAgKi9cbiAgZXhwaXJlc19hdD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlX2luc3RhbmNlPzogRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2VcbiAgLyoqIGd1aWxkIHNjaGVkdWxlZCBldmVudCBkYXRhICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudD86IERpc2NvcmRTY2hlZHVsZWRFdmVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlIHtcbiAgLyoqIFRoZSBtZW1iZXJzIHNwZWFraW5nIGluIHRoZSBTdGFnZSAqL1xuICBtZW1iZXJzOiBBcnJheTxQYXJ0aWFsPERpc2NvcmRNZW1iZXI+PlxuICAvKiogVGhlIG51bWJlciBvZiB1c2VycyBpbiB0aGUgU3RhZ2UgKi9cbiAgcGFydGljaXBhbnRfY291bnQ6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiB1c2VycyBzcGVha2luZyBpbiB0aGUgU3RhZ2UgKi9cbiAgc3BlYWtlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvYXBwbGljYXRpb24tY29tbWFuZHMjYXBwbGljYXRpb24tY29tbWFuZC1vYmplY3QtYXBwbGljYXRpb24tY29tbWFuZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCBleHRlbmRzIERpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQge1xuICAvKiogVW5pcXVlIElEIG9mIGNvbW1hbmQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBHdWlsZCBpZCBvZiB0aGUgY29tbWFuZCwgaWYgbm90IGdsb2JhbCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQge1xuICAvKiogVHlwZSBvZiBjb21tYW5kLCBkZWZhdWx0cyB0byBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCAqL1xuICB0eXBlPzogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgLyoqXG4gICAqIE5hbWUgb2YgY29tbWFuZCwgMS0zMiBjaGFyYWN0ZXJzLlxuICAgKiBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCBjb21tYW5kIG5hbWVzIG11c3QgbWF0Y2ggdGhlIGZvbGxvd2luZyByZWdleCBgXlstX1xccHtMfVxccHtOfVxccHtzYz1EZXZhfVxccHtzYz1UaGFpfV17MSwzMn0kYCB3aXRoIHRoZSB1bmljb2RlIGZsYWcgc2V0LlxuICAgKiBJZiB0aGVyZSBpcyBhIGxvd2VyY2FzZSB2YXJpYW50IG9mIGFueSBsZXR0ZXJzIHVzZWQsIHlvdSBtdXN0IHVzZSB0aG9zZS5cbiAgICogQ2hhcmFjdGVycyB3aXRoIG5vIGxvd2VyY2FzZSB2YXJpYW50cyBhbmQvb3IgdW5jYXNlZCBsZXR0ZXJzIGFyZSBzdGlsbCBhbGxvd2VkLlxuICAgKiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5Vc2VyYCBhbmQgYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLk1lc3NhZ2VgIGNvbW1hbmRzIG1heSBiZSBtaXhlZCBjYXNlIGFuZCBjYW4gaW5jbHVkZSBzcGFjZXMuXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIERlc2NyaXB0aW9uIGZvciBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCBjb21tYW5kcywgMS0xMDAgY2hhcmFjdGVycy4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIGBkZXNjcmlwdGlvbmAgZmllbGQuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzIGBkZXNjcmlwdGlvbmAgKi9cbiAgZGVzY3JpcHRpb25fbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFBhcmFtZXRlcnMgZm9yIHRoZSBjb21tYW5kLCBtYXggb2YgMjUgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25bXVxuICAvKiogU2V0IG9mIHBlcm1pc3Npb25zIHJlcHJlc2VudGVkIGFzIGEgYml0IHNldCAqL1xuICBkZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucz86IHN0cmluZyB8IG51bGxcbiAgLyoqXG4gICAqIEluc3RhbGxhdGlvbiBjb250ZXh0KHMpIHdoZXJlIHRoZSBjb21tYW5kIGlzIGF2YWlsYWJsZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlzIGN1cnJlbnRseSBpbiBwcmV2aWV3LlxuICAgKi9cbiAgaW50ZWdyYXRpb25fdHlwZXM/OiBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVbXVxuICAvKipcbiAgICogSW50ZXJhY3Rpb24gY29udGV4dChzKSB3aGVyZSB0aGUgY29tbWFuZCBjYW4gYmUgdXNlZCwgb25seSBmb3IgZ2xvYmFsbHktc2NvcGVkIGNvbW1hbmRzLiBCeSBkZWZhdWx0LCBhbGwgaW50ZXJhY3Rpb24gY29udGV4dCB0eXBlcyBpbmNsdWRlZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgaW4gcHJldmlldy5cbiAgICovXG4gIGNvbnRleHRzPzogRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGVbXSB8IG51bGxcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIGF2YWlsYWJsZSBpbiBETXMgd2l0aCB0aGUgYXBwLCBvbmx5IGZvciBnbG9iYWxseS1zY29wZWQgY29tbWFuZHMuIEJ5IGRlZmF1bHQsIGNvbW1hbmRzIGFyZSB2aXNpYmxlLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIGNvbnRleHRzfSBpbnN0ZWFkXG4gICAqL1xuICBkbV9wZXJtaXNzaW9uPzogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgYWdlLXJlc3RyaWN0ZWQsIGRlZmF1bHRzIHRvIGZhbHNlICovXG4gIG5zZnc/OiBib29sZWFuXG4gIC8qKiBBdXRvIGluY3JlbWVudGluZyB2ZXJzaW9uIGlkZW50aWZpZXIgdXBkYXRlZCBkdXJpbmcgc3Vic3RhbnRpYWwgcmVjb3JkIGNoYW5nZXMgKi9cbiAgdmVyc2lvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcbiAgLyoqIFR5cGUgb2Ygb3B0aW9uICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiBhbiBhcnJheSBvZiB7QGxpbmsgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbn1cbiAgICpcbiAgICoge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dCB8IENoYXRJbnB1dH0gY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICpcbiAgICoge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLlVzZXIgfCBVc2VyfSBhbmQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLk1lc3NhZ2UgfCBNZXNzYWdlfSBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogMS0xMDAgY2hhcmFjdGVyIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIHRoZSBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKlxuICAgKiBJZiB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIG9yIG9wdGlvbmFsLiBkZWZhdWx0IGBmYWxzZWBcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVmFsaWQgaW4gYWxsIG9wdGlvbiB0eXBlcyBleGNlcHQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQgfCBTdWJDb21tYW5kfSBhbmQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmRHcm91cCB8IFN1YkNvbW1hbmRHcm91cH1cbiAgICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKipcbiAgICogQ2hvaWNlcyBmb3IgdGhlIG9wdGlvbiBmcm9tIHdoaWNoIHRoZSB1c2VyIGNhbiBjaG9vc2UsIG1heCAyNVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfSwge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSwgb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlciB8IE51bWJlcn1cbiAgICpcbiAgICogSWYgeW91IHByb3ZpZGUgYW4gYXJyYXkgb2YgY2hvaWNlcywgdGhleSB3aWxsIGJlIHRoZSBPTkxZIGFjY2VwdGVkIHZhbHVlcyBmb3IgdGhpcyBvcHRpb25cbiAgICovXG4gIGNob2ljZXM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlW11cbiAgLyoqXG4gICAqIElmIHRoZSBvcHRpb24gaXMgYSBzdWJjb21tYW5kIG9yIHN1YmNvbW1hbmQgZ3JvdXAgdHlwZSwgdGhlc2UgbmVzdGVkIG9wdGlvbnMgd2lsbCBiZSB0aGUgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbiBvZiB0eXBlIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kIHwgU3ViQ29tbWFuZH0gb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmRHcm91cCB8IFN1YkNvbW1hbmRHcm91cH1cbiAgICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqXG4gICAqIElmIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbnMgYXJlIGVuYWJsZWQgZm9yIHRoaXMgb3B0aW9uLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfSwge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSwgb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlciB8IE51bWJlcn1cbiAgICpcbiAgICogV2hlbiB7QGxpbmsgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbi5jaG9pY2VzIHwgY2hvaWNlc30gYXJlIHByb3ZpZGVkLCB0aGlzIG1heSBub3QgYmUgc2V0IHRvIHRydWVcbiAgICovXG4gIGF1dG9jb21wbGV0ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRoZSBjaGFubmVscyBzaG93biB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8gdGhlc2UgdHlwZXNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb24gb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuQ2hhbm5lbCB8IENoYW5uZWx9XG4gICAqL1xuICBjaGFubmVsX3R5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHBlcm1pdHRlZCB2YWx1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlciB8IEludGVnZXJ9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqL1xuICBtaW5fdmFsdWU/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHBlcm1pdHRlZCB2YWx1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlciB8IEludGVnZXJ9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqL1xuICBtYXhfdmFsdWU/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHBlcm1pdHRlZCBsZW5ndGgsIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgZnJvbSAwIHRvIDYwMFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfVxuICAgKi9cbiAgbWluX2xlbmd0aD86IG51bWJlclxuICAvKipcbiAgICogVGhlIG1heGltdW0gcGVybWl0dGVkIGxlbmd0aCwgc2hvdWxkIGJlIGluIHRoZSByYW5nZSBvZiBmcm9tIDAgdG8gNjAwXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgdmFsaWQgaW4gb3B0aW9ucyBvZiB0eXBlIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdHJpbmcgfCBTdHJpbmd9XG4gICAqL1xuICBtYXhfbGVuZ3RoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvYXBwbGljYXRpb24tY29tbWFuZHMjYXBwbGljYXRpb24tY29tbWFuZC1wZXJtaXNzaW9ucy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hvaWNlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogVmFsdWUgZm9yIHRoZSBjaG9pY2UsIHVwIHRvIDEwMCBjaGFyYWN0ZXJzIGlmIHN0cmluZyAqL1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvc2xhc2gtY29tbWFuZHMjZ3VpbGRhcHBsaWNhdGlvbmNvbW1hbmRwZXJtaXNzaW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgY29tbWFuZCBvciB0aGUgYXBwbGljYXRpb24gSUQuIFdoZW4gdGhlIGBpZGAgZmllbGQgaXMgdGhlIGFwcGxpY2F0aW9uIElEIGluc3RlYWQgb2YgYSBjb21tYW5kIElELCB0aGUgcGVybWlzc2lvbnMgYXBwbHkgdG8gYWxsIGNvbW1hbmRzIHRoYXQgZG8gbm90IGNvbnRhaW4gZXhwbGljaXQgb3ZlcndyaXRlcy4gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb25zIGZvciB0aGUgY29tbWFuZCBpbiB0aGUgZ3VpbGQsIG1heCBvZiAxMDAgKi9cbiAgcGVybWlzc2lvbnM6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvc2xhc2gtY29tbWFuZHMjYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIHtcbiAgLyoqIElEIG9mIHRoZSByb2xlLCB1c2VyLCBvciBjaGFubmVsLiBJdCBjYW4gYWxzbyBiZSBhIHBlcm1pc3Npb24gY29uc3RhbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLlJvbGUsIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Vc2VyLCBvciBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuQ2hhbm5lbCAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXNcbiAgLyoqIGB0cnVlYCB0byBhbGxvdywgYGZhbHNlYCwgdG8gZGlzYWxsb3cgKi9cbiAgcGVybWlzc2lvbjogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2dldC1ndWlsZC13aWRnZXQtZXhhbXBsZS1nZXQtZ3VpbGQtd2lkZ2V0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFdpZGdldCB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGluc3RhbnRfaW52aXRlOiBzdHJpbmdcbiAgY2hhbm5lbHM6IEFycmF5PHtcbiAgICBpZDogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgcG9zaXRpb246IG51bWJlclxuICB9PlxuICBtZW1iZXJzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIHVzZXJuYW1lOiBzdHJpbmdcbiAgICBkaXNjcmltaW5hdG9yOiBzdHJpbmdcbiAgICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsXG4gICAgc3RhdHVzOiBzdHJpbmdcbiAgICBhdmF0YXJfdXJsOiBzdHJpbmdcbiAgfT5cbiAgcHJlc2VuY2VfY291bnQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLXByZXZpZXctb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFByZXZpZXcge1xuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogR3VpbGQgbmFtZSAoMi0xMDAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogU3BsYXNoIGhhc2ggKi9cbiAgc3BsYXNoOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBEaXNjb3Zlcnkgc3BsYXNoIGhhc2ggKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBvbmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGd1aWxkLCBpZiB0aGUgZ3VpbGQgaXMgZGlzY292ZXJhYmxlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2ZvbGxvd2VkLWNoYW5uZWwtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb2xsb3dlZENoYW5uZWwge1xuICAvKiogU291cmNlIG1lc3NhZ2UgaWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBDcmVhdGVkIHRhcmdldCB3ZWJob29rIGlkICovXG4gIHdlYmhvb2tfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcGF5bG9hZHMtZ2F0ZXdheS1wYXlsb2FkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR2F0ZXdheVBheWxvYWQge1xuICAvKiogb3Bjb2RlIGZvciB0aGUgcGF5bG9hZCAqL1xuICBvcDogbnVtYmVyXG4gIC8qKiBFdmVudCBkYXRhICovXG4gIGQ6IHVua25vd24gfCBudWxsXG4gIC8qKiBTZXF1ZW5jZSBudW1iZXIsIHVzZWQgZm9yIHJlc3VtaW5nIHNlc3Npb25zIGFuZCBoZWFydGJlYXRzICovXG4gIHM6IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBldmVudCBuYW1lIGZvciB0aGlzIHBheWxvYWQgKi9cbiAgdDogR2F0ZXdheUV2ZW50TmFtZXMgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXJzLWNodW5rICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlcnNDaHVuayB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFNldCBvZiBndWlsZCBtZW1iZXJzICovXG4gIG1lbWJlcnM6IERpc2NvcmRNZW1iZXJXaXRoVXNlcltdXG4gIC8qKiBUaGUgY2h1bmsgaW5kZXggaW4gdGhlIGV4cGVjdGVkIGNodW5rcyBmb3IgdGhpcyByZXNwb25zZSAoMCA8PSBjaHVua19pbmRleCA8IGNodW5rX2NvdW50KSAqL1xuICBjaHVua19pbmRleDogbnVtYmVyXG4gIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIGV4cGVjdGVkIGNodW5rcyBmb3IgdGhpcyByZXNwb25zZSAqL1xuICBjaHVua19jb3VudDogbnVtYmVyXG4gIC8qKiBJZiBwYXNzaW5nIGFuIGludmFsaWQgaWQgdG8gYFJFUVVFU1RfR1VJTERfTUVNQkVSU2AsIGl0IHdpbGwgYmUgcmV0dXJuZWQgaGVyZSAqL1xuICBub3RfZm91bmQ/OiBzdHJpbmdbXVxuICAvKiogSWYgcGFzc2luZyB0cnVlIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBwcmVzZW5jZXMgb2YgdGhlIHJldHVybmVkIG1lbWJlcnMgd2lsbCBiZSBoZXJlICovXG4gIHByZXNlbmNlcz86IERpc2NvcmRQcmVzZW5jZVVwZGF0ZVtdXG4gIC8qKiBUaGUgbm9uY2UgdXNlZCBpbiB0aGUgR3VpbGQgTWVtYmVycyBSZXF1ZXN0ICovXG4gIG5vbmNlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNjaGFubmVsLXBpbnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsUGluc1VwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgbW9zdCByZWNlbnQgcGlubmVkIG1lc3NhZ2Ugd2FzIHBpbm5lZCAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlRGVsZXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgcm9sZSAqL1xuICByb2xlX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLWJhbi1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQmFuQWRkUmVtb3ZlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYmFubmVkIHVzZXIgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmUgZXh0ZW5kcyBPbWl0PERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdtZW1iZXInPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VSZWFjdGlvbkFkZCB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVyIHdobyByZWFjdGVkIGlmIHRoaXMgaGFwcGVuZWQgaW4gYSBndWlsZCAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyV2l0aFVzZXJcbiAgLyoqIFRoZSBlbW9qaSB1c2VkIHRvIHJlYWN0ICovXG4gIGVtb2ppOiBQYXJ0aWFsPERpc2NvcmRFbW9qaT5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXV0aG9yIG9mIHRoaXMgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2F1dGhvcl9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjdm9pY2Utc2VydmVyLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VTZXJ2ZXJVcGRhdGUge1xuICAvKiogVm9pY2UgY29ubmVjdGlvbiB0b2tlbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgdGhpcyB2b2ljZSBzZXJ2ZXIgdXBkYXRlIGlzIGZvciAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdm9pY2Ugc2VydmVyIGhvc3QgKi9cbiAgZW5kcG9pbnQ6IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2ludml0ZS1jcmVhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZUNyZWF0ZSB7XG4gIC8qKiBUaGUgY2hhbm5lbCB0aGUgaW52aXRlIGlzIGZvciAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1bmlxdWUgaW52aXRlIGNvZGUgKi9cbiAgY29kZTogc3RyaW5nXG4gIC8qKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgaW52aXRlIHdhcyBjcmVhdGVkICovXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBpbnZpdGUgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoYXQgY3JlYXRlZCB0aGUgaW52aXRlICovXG4gIGludml0ZXI/OiBEaXNjb3JkVXNlclxuICAvKiogSG93IGxvbmcgdGhlIGludml0ZSBpcyB2YWxpZCBmb3IgKGluIHNlY29uZHMpICovXG4gIG1heF9hZ2U6IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4X3VzZXM6IG51bWJlclxuICAvKiogVGhlIHR5cGUgb2YgdGFyZ2V0IGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgaW52aXRlICovXG4gIHRhcmdldF90eXBlOiBUYXJnZXRUeXBlc1xuICAvKiogVGhlIHRhcmdldCB1c2VyIGZvciB0aGlzIGludml0ZSAqL1xuICB0YXJnZXRfdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZW1iZWRkZWQgYXBwbGljYXRpb24gdG8gb3BlbiBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGVtYmVkZGVkIGFwcGxpY2F0aW9uIGludml0ZSAqL1xuICB0YXJnZXRfYXBwbGljYXRpb24/OiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnZpdGUgaXMgdGVtcG9yYXJ5IChpbnZpdGVkIHVzZXJzIHdpbGwgYmUga2lja2VkIG9uIGRpc2Nvbm5lY3QgdW5sZXNzIHRoZXkncmUgYXNzaWduZWQgYSByb2xlKSAqL1xuICB0ZW1wb3Jhcnk6IGJvb2xlYW5cbiAgLyoqIEhvdyBtYW55IHRpbWVzIHRoZSBpbnZpdGUgaGFzIGJlZW4gdXNlZCAoYWx3YXlzIHdpbGwgYmUgMCkgKi9cbiAgdXNlczogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNoZWxsbyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSGVsbG8ge1xuICAvKiogVGhlIGludGVydmFsIChpbiBtaWxsaXNlY29uZHMpIHRoZSBjbGllbnQgc2hvdWxkIGhlYXJ0YmVhdCB3aXRoICovXG4gIGhlYXJ0YmVhdF9pbnRlcnZhbDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNyZWFkeSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUmVhZHkge1xuICAvKiogR2F0ZXdheSB2ZXJzaW9uICovXG4gIHY6IG51bWJlclxuICAvKiogSW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIgaW5jbHVkaW5nIGVtYWlsICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZ3VpbGRzIHRoZSB1c2VyIGlzIGluICovXG4gIGd1aWxkczogRGlzY29yZFVuYXZhaWxhYmxlR3VpbGRbXVxuICAvKiogVXNlZCBmb3IgcmVzdW1pbmcgY29ubmVjdGlvbnMgKi9cbiAgc2Vzc2lvbl9pZDogc3RyaW5nXG4gIC8qKiBHYXRld2F5IHVybCBmb3IgcmVzdW1pbmcgY29ubmVjdGlvbnMgKi9cbiAgcmVzdW1lX2dhdGV3YXlfdXJsOiBzdHJpbmdcbiAgLyoqIFRoZSBzaGFyZCBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBzZXNzaW9uLCBpZiBzZW50IHdoZW4gaWRlbnRpZnlpbmcgKi9cbiAgc2hhcmQ/OiBbbnVtYmVyLCBudW1iZXJdXG4gIC8qKiBDb250YWlucyBpZCBhbmQgZmxhZ3MgKi9cbiAgYXBwbGljYXRpb246IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPiAmIFBpY2s8RGlzY29yZEFwcGxpY2F0aW9uLCAnaWQnIHwgJ2ZsYWdzJz5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCN1bmF2YWlsYWJsZS1ndWlsZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVuYXZhaWxhYmxlR3VpbGQgZXh0ZW5kcyBQaWNrPERpc2NvcmRHdWlsZCwgJ2lkJyB8ICd1bmF2YWlsYWJsZSc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLWRlbGV0ZS1idWxrICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlRGVsZXRlQnVsayB7XG4gIC8qKiBUaGUgaWRzIG9mIHRoZSBtZXNzYWdlcyAqL1xuICBpZHM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdGVtcGxhdGUjdGVtcGxhdGUtb2JqZWN0LXRlbXBsYXRlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVtcGxhdGUge1xuICAvKiogVGhlIHRlbXBsYXRlIGNvZGUgKHVuaXF1ZSBJZCkgKi9cbiAgY29kZTogc3RyaW5nXG4gIC8qKiBUZW1wbGF0ZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgdGVtcGxhdGUgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgLyoqIE51bWJlciBvZiB0aW1lcyB0aGlzIHRlbXBsYXRlIGhhcyBiZWVuIHVzZWQgKi9cbiAgdXNhZ2VfY291bnQ6IG51bWJlclxuICAvKiogVGhlIElkIG9mIHRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSB0ZW1wbGF0ZSAqL1xuICBjcmVhdG9yX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSB0ZW1wbGF0ZSAqL1xuICBjcmVhdG9yOiBEaXNjb3JkVXNlclxuICAvKiogV2hlbiB0aGlzIHRlbXBsYXRlIHdhcyBjcmVhdGVkICovXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGlzIHRlbXBsYXRlIHdhcyBsYXN0IHN5bmNlZCB0byB0aGUgc291cmNlIGd1aWxkICovXG4gIHVwZGF0ZWRfYXQ6IHN0cmluZ1xuICAvKiogVGhlIElkIG9mIHRoZSBndWlsZCB0aGlzIHRlbXBsYXRlIGlzIGJhc2VkIG9uICovXG4gIHNvdXJjZV9ndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgc25hcHNob3QgdGhpcyB0ZW1wbGF0ZSBjb250YWlucyAqL1xuICBzZXJpYWxpemVkX3NvdXJjZV9ndWlsZDogT21pdDxcbiAgICBQaWNrUGFydGlhbDxcbiAgICAgIERpc2NvcmRHdWlsZCxcbiAgICAgIHwgJ25hbWUnXG4gICAgICB8ICdkZXNjcmlwdGlvbidcbiAgICAgIHwgJ3ZlcmlmaWNhdGlvbl9sZXZlbCdcbiAgICAgIHwgJ2RlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zJ1xuICAgICAgfCAnZXhwbGljaXRfY29udGVudF9maWx0ZXInXG4gICAgICB8ICdwcmVmZXJyZWRfbG9jYWxlJ1xuICAgICAgfCAnYWZrX3RpbWVvdXQnXG4gICAgICB8ICdjaGFubmVscydcbiAgICAgIHwgJ2Fma19jaGFubmVsX2lkJ1xuICAgICAgfCAnc3lzdGVtX2NoYW5uZWxfaWQnXG4gICAgICB8ICdzeXN0ZW1fY2hhbm5lbF9mbGFncydcbiAgICA+LFxuICAgICdyb2xlcydcbiAgPiAmIHtcbiAgICByb2xlczogQXJyYXk8XG4gICAgICBPbWl0PFBpY2tQYXJ0aWFsPERpc2NvcmRSb2xlLCAnbmFtZScgfCAnY29sb3InIHwgJ2hvaXN0JyB8ICdtZW50aW9uYWJsZScgfCAncGVybWlzc2lvbnMnIHwgJ2ljb24nIHwgJ3VuaWNvZGVfZW1vamknPiwgJ2lkJz4gJiB7IGlkOiBudW1iZXIgfVxuICAgID5cbiAgfVxuICAvKiogV2hldGhlciB0aGUgdGVtcGxhdGUgaGFzIHVuLXN5bmNlZCBjaGFuZ2VzICovXG4gIGlzX2RpcnR5OiBib29sZWFuIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLWFkZCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJBZGQgZXh0ZW5kcyBEaXNjb3JkTWVtYmVyV2l0aFVzZXIge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtZGVsZXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlRGVsZXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN0aHJlYWQtbWVtYmVycy11cGRhdGUtdGhyZWFkLW1lbWJlcnMtdXBkYXRlLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyc1VwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRocmVhZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VycyB3aG8gd2VyZSBhZGRlZCB0byB0aGUgdGhyZWFkICovXG4gIGFkZGVkX21lbWJlcnM/OiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlcnMgd2hvIHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSB0aHJlYWQgKi9cbiAgcmVtb3ZlZF9tZW1iZXJfaWRzPzogc3RyaW5nW11cbiAgLyoqIHRoZSBhcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGUgdGhyZWFkLCBjYXBwZWQgYXQgNTAgKi9cbiAgbWVtYmVyX2NvdW50OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3RocmVhZC1tZW1iZXItdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZW1iZXJVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdGltZXN0YW1wIHdoZW4gdGhlIGJvdCBqb2luZWQgdGhpcyB0aHJlYWQuICovXG4gIGpvaW5lZF9hdDogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3MgdGhpcyB1c2VyIGhhcyBmb3IgdGhpcyB0aHJlYWQuIE5vdCB1c2VmdWwgZm9yIGJvdHMuICovXG4gIGZsYWdzOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLXJvbGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFJvbGVDcmVhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgcm9sZSBjcmVhdGVkICovXG4gIHJvbGU6IERpc2NvcmRSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1lbW9qaXMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEVtb2ppc1VwZGF0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogQXJyYXkgb2YgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNndWlsZC1zdGlja2Vycy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkU3RpY2tlcnNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIHN0aWNrZXIgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLW1lbWJlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkTWVtYmVyVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVXNlciByb2xlIGlkcyAqL1xuICByb2xlczogc3RyaW5nW11cbiAgLyoqIFRoZSB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBOaWNrbmFtZSBvZiB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKi9cbiAgbmljaz86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBtZW1iZXIncyBbZ3VpbGQgYXZhdGFyIGhhc2hdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSNpbWFnZS1mb3JtYXR0aW5nKSAqL1xuICBhdmF0YXI6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBqb2luZWQgdGhlIGd1aWxkICovXG4gIGpvaW5lZF9hdDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoZSB1c2VyIHN0YXJ0aW5nIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtX3NpbmNlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogd2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmPzogYm9vbGVhblxuICAvKiogd2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBtdXRlPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgbm90IHlldCBwYXNzZWQgdGhlIGd1aWxkJ3MgTWVtYmVyc2hpcCBTY3JlZW5pbmcgcmVxdWlyZW1lbnRzICovXG4gIHBlbmRpbmc/OiBib29sZWFuXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgW3RpbWVvdXRdKGh0dHBzOi8vc3VwcG9ydC5kaXNjb3JkLmNvbS9oYy9lbi11cy9hcnRpY2xlcy80NDEzMzA1MjM5MTkxLVRpbWUtT3V0LUZBUSkgd2lsbCBleHBpcmUgYW5kIHRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBjb21tdW5pY2F0ZSBpbiB0aGUgZ3VpbGQgYWdhaW4sIG51bGwgb3IgYSB0aW1lIGluIHRoZSBwYXN0IGlmIHRoZSB1c2VyIGlzIG5vdCB0aW1lZCBvdXQuIFdpbGwgdGhyb3cgYSA0MDMgZXJyb3IgaWYgdGhlIHVzZXIgaGFzIHRoZSBBRE1JTklTVFJBVE9SIHBlcm1pc3Npb24gb3IgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBjb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZS1hbGwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VSZWFjdGlvblJlbW92ZUFsbCBleHRlbmRzIFBpY2s8RGlzY29yZE1lc3NhZ2VSZWFjdGlvbkFkZCwgJ2NoYW5uZWxfaWQnIHwgJ21lc3NhZ2VfaWQnIHwgJ2d1aWxkX2lkJz4ge31cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLXJvbGUtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFJvbGVVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgcm9sZSB1cGRhdGVkICovXG4gIHJvbGU6IERpc2NvcmRSb2xlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50VXNlckFkZCB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50ICAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgICAgICAgICAgICAgICAgICAgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1yZW1vdmUtZW1vamkgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmVFbW9qaSA9IFBpY2s8RGlzY29yZE1lc3NhZ2VSZWFjdGlvbkFkZCwgJ2NoYW5uZWxfaWQnIHwgJ2d1aWxkX2lkJyB8ICdtZXNzYWdlX2lkJyB8ICdlbW9qaSc+XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXItcmVtb3ZlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlclJlbW92ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHdobyB3YXMgcmVtb3ZlZCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2Jhbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJhbiB7XG4gIC8qKiBUaGUgcmVhc29uIGZvciB0aGUgYmFuICovXG4gIHJlYXNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJhbm5lZCB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50VXNlclJlbW92ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNpbnZpdGUtZGVsZXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVEZWxldGUge1xuICAvKiogVGhlIGNoYW5uZWwgb2YgdGhlIGludml0ZSAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3ZvaWNlI3ZvaWNlLXJlZ2lvbi1vYmplY3Qtdm9pY2UtcmVnaW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VSZWdpb24ge1xuICAvKiogVW5pcXVlIElkIGZvciB0aGUgcmVnaW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHJlZ2lvbiAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRydWUgZm9yIGEgc2luZ2xlIHNlcnZlciB0aGF0IGlzIGNsb3Nlc3QgdG8gdGhlIGN1cnJlbnQgdXNlcidzIGNsaWVudCAqL1xuICBvcHRpbWFsOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgYSBkZXByZWNhdGVkIHZvaWNlIHJlZ2lvbiAoYXZvaWQgc3dpdGNoaW5nIHRvIHRoZXNlKSAqL1xuICBkZXByZWNhdGVkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgYSBjdXN0b20gdm9pY2UgcmVnaW9uICh1c2VkIGZvciBldmVudHMvZXRjKSAqL1xuICBjdXN0b206IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyB7XG4gIC8qKiB3aGV0aGVyIHRoZSB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiB0aGUgd2lkZ2V0IGNoYW5uZWwgaWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnN0YWxsUGFyYW1zIHtcbiAgLyoqIFNjb3BlcyB0byBhZGQgdGhlIGFwcGxpY2F0aW9uIHRvIHRoZSBzZXJ2ZXIgd2l0aCAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIFBlcm1pc3Npb25zIHRvIHJlcXVlc3QgZm9yIHRoZSBib3Qgcm9sZSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZvcnVtVGFnIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgbW9kZXJhdGVkOiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSBBdCBtb3N0IG9uZSBvZiBlbW9qaV9pZCBhbmQgZW1vamlfbmFtZSBtYXkgYmUgc2V0LiAqL1xuICBlbW9qaV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkge1xuICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgZW1vamlfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUNoYW5uZWwge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNoYW5uZWwgbmFtZSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsOyBvbmx5IGNvbnZlcnNpb24gYmV0d2VlbiB0ZXh0IGFuZCBuZXdzIGlzIHN1cHBvcnRlZCBhbmQgb25seSBpbiBndWlsZHMgd2l0aCB0aGUgXCJORVdTXCIgZmVhdHVyZSAqL1xuICB0eXBlPzogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgaW4gdGhlIGxlZnQtaGFuZCBsaXN0aW5nICovXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbFxuICAvKiogMC0xMDI0IGNoYXJhY3RlciBjaGFubmVsIHRvcGljICovXG4gIHRvcGljPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBuc2Z3ICovXG4gIG5zZnc/OiBib29sZWFuIHwgbnVsbFxuICAvKiogQW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCk7IGJvdHMsIGFzIHdlbGwgYXMgdXNlcnMgd2l0aCB0aGUgcGVybWlzc2lvbiBgbWFuYWdlX21lc3NhZ2VzYCBvciBgbWFuYWdlX2NoYW5uZWxgLCBhcmUgdW5hZmZlY3RlZCAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBjaGFubmVsOyA4MDAwIHRvIDk2MDAwICgxMjgwMDAgZm9yIFZJUCBzZXJ2ZXJzKSAqL1xuICBiaXRyYXRlPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgbGltaXQgb2YgdGhlIHZvaWNlIGNoYW5uZWw7IDAgcmVmZXJzIHRvIG5vIGxpbWl0LCAxIHRvIDk5IHJlZmVycyB0byBhIHVzZXIgbGltaXQgKi9cbiAgdXNlcl9saW1pdD86IG51bWJlciB8IG51bGxcbiAgLyoqIENoYW5uZWwgb3IgY2F0ZWdvcnktc3BlY2lmaWMgcGVybWlzc2lvbnMgKi9cbiAgcGVybWlzc2lvbl9vdmVyd3JpdGVzPzogRGlzY29yZE92ZXJ3cml0ZVtdIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG5ldyBwYXJlbnQgY2F0ZWdvcnkgZm9yIGEgY2hhbm5lbCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKi9cbiAgdmlkZW9fcXVhbGl0eV9tb2RlPzogVmlkZW9RdWFsaXR5TW9kZXNcbiAgLyoqIFdoZXRoZXIgdGhlIHRocmVhZCBpcyBhcmNoaXZlZCAqL1xuICBhcmNoaXZlZD86IGJvb2xlYW5cbiAgLyoqIER1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5ICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBsb2NrZWQsIG9ubHkgdXNlcnMgd2l0aCBgTUFOQUdFX1RIUkVBRFNgIGNhbiB1bmFyY2hpdmUgaXQgKi9cbiAgbG9ja2VkPzogYm9vbGVhblxuICAvKiogd2hldGhlciBub24tbW9kZXJhdG9ycyBjYW4gYWRkIG90aGVyIG5vbi1tb2RlcmF0b3JzIHRvIGEgdGhyZWFkOyBvbmx5IGF2YWlsYWJsZSBvbiBwcml2YXRlIHRocmVhZHMgKi9cbiAgaW52aXRhYmxlPzogYm9vbGVhblxuICAvKiogVGhlIHNldCBvZiB0YWdzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGF2YWlsYWJsZV90YWdzPzogQXJyYXk8e1xuICAgIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICAgIGlkOiBzdHJpbmdcbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHRhZyAoMC0yMCBjaGFyYWN0ZXJzKSAqL1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgICBtb2RlcmF0ZWQ6IGJvb2xlYW5cbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgQXQgbW9zdCBvbmUgb2YgZW1vamlfaWQgYW5kIGVtb2ppX25hbWUgbWF5IGJlIHNldC4gKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lOiBzdHJpbmdcbiAgfT5cbiAgLyoqIFRoZSBJRHMgb2YgdGhlIHNldCBvZiB0YWdzIHRoYXQgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsOyBsaW1pdGVkIHRvIDUgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbiAgLyoqIHRoZSBlbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzoge1xuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbiAgfVxuICAvKiogdGhlIGluaXRpYWwgcmF0ZV9saW1pdF9wZXJfdXNlciB0byBzZXQgb24gbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIGEgY2hhbm5lbC4gdGhpcyBmaWVsZCBpcyBjb3BpZWQgdG8gdGhlIHRocmVhZCBhdCBjcmVhdGlvbiB0aW1lIGFuZCBkb2VzIG5vdCBsaXZlIHVwZGF0ZS4gKi9cbiAgZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gZm9ydW0gY2hhbm5lbHMgKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG4gIC8qKiB0aGUgZGVmYXVsdCBmb3J1bSBsYXlvdXQgdmlldyB1c2VkIHRvIGRpc3BsYXkgcG9zdHMgaW4gYEdVSUxEX0ZPUlVNYCBjaGFubmVscy4gRGVmYXVsdHMgdG8gYDBgLCB3aGljaCBpbmRpY2F0ZXMgYSBsYXlvdXQgdmlldyBoYXMgbm90IGJlZW4gc2V0IGJ5IGEgY2hhbm5lbCBhZG1pbiAqL1xuICBkZWZhdWx0X2ZvcnVtX2xheW91dD86IEZvcnVtTGF5b3V0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjY3JlYXRlLWd1aWxkLWVtb2ppICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVHdWlsZEVtb2ppIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIDEyOHgxMjggZW1vamkgaW1hZ2UuIEVtb2ppcyBhbmQgYW5pbWF0ZWQgZW1vamlzIGhhdmUgYSBtYXhpbXVtIGZpbGUgc2l6ZSBvZiAyNTZrYi4gQXR0ZW1wdGluZyB0byB1cGxvYWQgYW4gZW1vamkgbGFyZ2VyIHRoYW4gdGhpcyBsaW1pdCB3aWxsIGZhaWwgYW5kIHJldHVybiA0MDAgQmFkIFJlcXVlc3QgYW5kIGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCBub3QgYSBKU09OIHN0YXR1cyBjb2RlLiBJZiBhIFVSTCBpcyBwcm92aWRlZCB0byB0aGUgaW1hZ2UgcGFyYW1ldGVyLCBEaXNjb3JkZW5vIHdpbGwgYXV0b21hdGljYWxseSBjb252ZXJ0IGl0IHRvIGEgYmFzZTY0IHN0cmluZyBpbnRlcm5hbGx5LiAqL1xuICBpbWFnZTogc3RyaW5nXG4gIC8qKiBSb2xlcyBhbGxvd2VkIHRvIHVzZSB0aGlzIGVtb2ppICovXG4gIHJvbGVzPzogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9lbW9qaSNtb2RpZnktZ3VpbGQtZW1vamkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkRW1vamkge1xuICAvKiogTmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVHdWlsZENoYW5uZWwge1xuICAvKiogQ2hhbm5lbCBuYW1lICgxLTEwMCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZT86IENoYW5uZWxUeXBlc1xuICAvKiogQ2hhbm5lbCB0b3BpYyAoMC0xMDI0IGNoYXJhY3RlcnMpICovXG4gIHRvcGljPzogc3RyaW5nXG4gIC8qKiBUaGUgYml0cmF0ZSAoaW4gYml0cykgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKHZvaWNlIG9ubHkpICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBjaGFubmVsICh2b2ljZSBvbmx5KSAqL1xuICB1c2VyX2xpbWl0PzogbnVtYmVyXG4gIC8qKiBBbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKTsgYm90cywgYXMgd2VsbCBhcyB1c2VycyB3aXRoIHRoZSBwZXJtaXNzaW9uIGBtYW5hZ2VfbWVzc2FnZXNgIG9yIGBtYW5hZ2VfY2hhbm5lbGAsIGFyZSB1bmFmZmVjdGVkICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIFNvcnRpbmcgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgKi9cbiAgcG9zaXRpb24/OiBudW1iZXJcbiAgLyoqIFRoZSBjaGFubmVsJ3MgcGVybWlzc2lvbiBvdmVyd3JpdGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogSWQgb2YgdGhlIHBhcmVudCBjYXRlZ29yeSBmb3IgYSBjaGFubmVsICovXG4gIHBhcmVudF9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBuc2Z3ICovXG4gIG5zZnc/OiBib29sZWFuXG4gIC8qKiBEZWZhdWx0IGR1cmF0aW9uIChpbiBtaW51dGVzKSB0aGF0IGNsaWVudHMgKG5vdCB0aGUgQVBJKSB1c2UgZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcyBpbiB0aGlzIGNoYW5uZWwsIHRvIGRldGVybWluZSB3aGVuIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHRoZSBsYXN0IGFjdGl2aXR5ICovXG4gIGRlZmF1bHRfYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogbnVtYmVyXG4gIC8qKiBFbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgZm9ydW0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzoge1xuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaS4gRXhhY3RseSBvbmUgb2YgYGVtb2ppSWRgIGFuZCBgZW1vamlOYW1lYCBtdXN0IGJlIHNldC4gKi9cbiAgICBlbW9qaV9pZD86IHN0cmluZyB8IG51bGxcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaS4gRXhhY3RseSBvbmUgb2YgYGVtb2ppSWRgIGFuZCBgZW1vamlOYW1lYCBtdXN0IGJlIHNldC4gKi9cbiAgICBlbW9qaV9uYW1lPzogc3RyaW5nIHwgbnVsbFxuICB9XG4gIC8qKiBTZXQgb2YgdGFncyB0aGF0IGNhbiBiZSB1c2VkIGluIGEgZm9ydW0gY2hhbm5lbCAqL1xuICBhdmFpbGFibGVfdGFncz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgICBpZDogc3RyaW5nXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogd2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gICAgbW9kZXJhdGVkOiBib29sZWFuXG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZT86IHN0cmluZ1xuICB9PlxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gZm9ydW0gY2hhbm5lbHMgKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZU1lc3NhZ2Uge1xuICAvKiogVGhlIG1lc3NhZ2UgY29udGVudHMgKHVwIHRvIDIwMDAgY2hhcmFjdGVycykgKi9cbiAgY29udGVudD86IHN0cmluZ1xuICAvKiogQ2FuIGJlIHVzZWQgdG8gdmVyaWZ5IGEgbWVzc2FnZSB3YXMgc2VudCAodXAgdG8gMjUgY2hhcmFjdGVycykuIFZhbHVlIHdpbGwgYXBwZWFyIGluIHRoZSBNZXNzYWdlIENyZWF0ZSBldmVudC4gKi9cbiAgbm9uY2U/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqIHRydWUgaWYgdGhpcyBpcyBhIFRUUyBtZXNzYWdlICovXG4gIHR0cz86IGJvb2xlYW5cbiAgLyoqIEVtYmVkZGVkIGByaWNoYCBjb250ZW50ICh1cCB0byA2MDAwIGNoYXJhY3RlcnMpICovXG4gIGVtYmVkcz86IERpc2NvcmRFbWJlZFtdXG4gIC8qKiBBbGxvd2VkIG1lbnRpb25zIGZvciB0aGUgbWVzc2FnZSAqL1xuICBhbGxvd2VkX21lbnRpb25zPzogRGlzY29yZEFsbG93ZWRNZW50aW9uc1xuICAvKiogSW5jbHVkZSB0byBtYWtlIHlvdXIgbWVzc2FnZSBhIHJlcGx5ICovXG4gIG1lc3NhZ2VfcmVmZXJlbmNlPzoge1xuICAgIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSAqL1xuICAgIG1lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGNoYW5uZWxcbiAgICAgKiBOb3RlOiBgY2hhbm5lbF9pZGAgaXMgb3B0aW9uYWwgd2hlbiBjcmVhdGluZyBhIHJlcGx5LCBidXQgd2lsbCBhbHdheXMgYmUgcHJlc2VudCB3aGVuIHJlY2VpdmluZyBhbiBldmVudC9yZXNwb25zZSB0aGF0IGluY2x1ZGVzIHRoaXMgZGF0YSBtb2RlbC5cbiAgICAgKi9cbiAgICBjaGFubmVsX2lkPzogc3RyaW5nXG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgICBndWlsZF9pZD86IHN0cmluZ1xuICAgIC8qKiBXaGVuIHNlbmRpbmcsIHdoZXRoZXIgdG8gZXJyb3IgaWYgdGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBkb2Vzbid0IGV4aXN0IGluc3RlYWQgb2Ygc2VuZGluZyBhcyBhIG5vcm1hbCAobm9uLXJlcGx5KSBtZXNzYWdlLCBkZWZhdWx0IHRydWUgKi9cbiAgICBmYWlsX2lmX25vdF9leGlzdHM6IGJvb2xlYW5cbiAgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgeW91IHdvdWxkIGxpa2UgdG8gaGF2ZSBzZW50IGluIHRoaXMgbWVzc2FnZSAqL1xuICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzXG4gIC8qKiBJRHMgb2YgdXAgdG8gMyBzdGlja2VycyBpbiB0aGUgc2VydmVyIHRvIHNlbmQgaW4gdGhlIG1lc3NhZ2UgKi9cbiAgc3RpY2tlcklkcz86IFtzdHJpbmddIHwgW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21vZGlmeS1ndWlsZC13ZWxjb21lLXNjcmVlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHdlbGNvbWUgc2NyZWVuIGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBDaGFubmVscyBsaW5rZWQgaW4gdGhlIHdlbGNvbWUgc2NyZWVuIGFuZCB0aGVpciBkaXNwbGF5IG9wdGlvbnMgKi9cbiAgd2VsY29tZV9zY3JlZW4/OiBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWxbXSB8IG51bGxcbiAgLyoqIFRoZSBzZXJ2ZXIgZGVzY3JpcHRpb24gdG8gc2hvdyBpbiB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZvbGxvd0Fubm91bmNlbWVudENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHRvIHNlbmQgYW5ub3VuY2VtZW50cyB0by4gKi9cbiAgd2ViaG9va19jaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucyB7XG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c6IHN0cmluZ1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGRlbnk6IHN0cmluZ1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtb2RpZnktZ3VpbGQtY2hhbm5lbC1wb3NpdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkQ2hhbm5lbFBvc2l0aW9ucyB7XG4gIC8qKiBDaGFubmVsIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFNvcnRpbmcgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgKi9cbiAgcG9zaXRpb24/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBTeW5jcyB0aGUgcGVybWlzc2lvbiBvdmVyd3JpdGVzIHdpdGggdGhlIG5ldyBwYXJlbnQsIGlmIG1vdmluZyB0byBhIG5ldyBjYXRlZ29yeSAqL1xuICBsb2NrX3Bvc2l0aW9ucz86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBUaGUgbmV3IHBhcmVudCBJRCBmb3IgdGhlIGNoYW5uZWwgdGhhdCBpcyBtb3ZlZCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZVdlYmhvb2sge1xuICAvKiogTmFtZSBvZiB0aGUgd2ViaG9vayAoMS04MCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEltYWdlIHVybCBmb3IgdGhlIGRlZmF1bHQgd2ViaG9vayBhdmF0YXIgKi9cbiAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjc3RhcnQtdGhyZWFkLWluLWZvcnVtLWNoYW5uZWwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZUZvcnVtUG9zdFdpdGhNZXNzYWdlIHtcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBjaGFubmVsIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBkdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSwgY2FuIGJlIHNldCB0bzogNjAsIDE0NDAsIDQzMjAsIDEwMDgwICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogYW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCkgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogY29udGVudHMgb2YgdGhlIGZpcnN0IG1lc3NhZ2UgaW4gdGhlIGZvcnVtIHRocmVhZCAqL1xuICBtZXNzYWdlOiB7XG4gICAgLyoqIE1lc3NhZ2UgY29udGVudHMgKHVwIHRvIDIwMDAgY2hhcmFjdGVycykgKi9cbiAgICBjb250ZW50Pzogc3RyaW5nXG4gICAgLyoqIEVtYmVkZGVkIHJpY2ggY29udGVudCAodXAgdG8gNjAwMCBjaGFyYWN0ZXJzKSAqL1xuICAgIGVtYmVkcz86IERpc2NvcmRFbWJlZFtdXG4gICAgLyoqIEFsbG93ZWQgbWVudGlvbnMgZm9yIHRoZSBtZXNzYWdlICovXG4gICAgYWxsb3dlZF9tZW50aW9ucz86IERpc2NvcmRBbGxvd2VkTWVudGlvbnNbXVxuICAgIC8qKiBDb21wb25lbnRzIHRvIGluY2x1ZGUgd2l0aCB0aGUgbWVzc2FnZSAqL1xuICAgIGNvbXBvbmVudHM/OiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHNbXVxuICAgIC8qKiBJRHMgb2YgdXAgdG8gMyBzdGlja2VycyBpbiB0aGUgc2VydmVyIHRvIHNlbmQgaW4gdGhlIG1lc3NhZ2UgKi9cbiAgICBzdGlja2VyX2lkcz86IHN0cmluZ1tdXG4gICAgLyoqIEpTT04tZW5jb2RlZCBib2R5IG9mIG5vbi1maWxlIHBhcmFtcywgb25seSBmb3IgbXVsdGlwYXJ0L2Zvcm0tZGF0YSByZXF1ZXN0cy4gU2VlIHtAbGluayBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjdXBsb2FkaW5nLWZpbGVzIFVwbG9hZGluZyBGaWxlc30gKi9cbiAgICBwYXlsb2FkX2pzb24/OiBzdHJpbmdcbiAgICAvKiogQXR0YWNobWVudCBvYmplY3RzIHdpdGggZmlsZW5hbWUgYW5kIGRlc2NyaXB0aW9uLiBTZWUge0BsaW5rIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSN1cGxvYWRpbmctZmlsZXMgVXBsb2FkaW5nIEZpbGVzfSAqL1xuICAgIGF0dGFjaG1lbnRzPzogRGlzY29yZEF0dGFjaG1lbnRbXVxuICAgIC8qKiBNZXNzYWdlIGZsYWdzIGNvbWJpbmVkIGFzIGEgYml0ZmllbGQsIG9ubHkgU1VQUFJFU1NfRU1CRURTIGNhbiBiZSBzZXQgKi9cbiAgICBmbGFncz86IERpc2NvcmRNZXNzYWdlRmxhZ1xuICB9XG4gIC8qKiB0aGUgSURzIG9mIHRoZSBzZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBhcHBsaWVkX3RhZ3M/OiBzdHJpbmdbXVxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzID0gRGlzY29yZEFjdGl2ZVRocmVhZHMgJiB7XG4gIGhhc01vcmU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZlVGhyZWFkcyB7XG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZhbml0eVVybCB7XG4gIGNvZGU6IHN0cmluZyB8IG51bGxcbiAgdXNlczogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBydW5lZENvdW50IHtcbiAgcHJ1bmVkOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1ndWlsZC1vbmJvYXJkaW5nLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nIHtcbiAgLyoqIElEIG9mIHRoZSBndWlsZCB0aGlzIG9uYm9hcmRpbmcgaXMgcGFydCBvZiAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBQcm9tcHRzIHNob3duIGR1cmluZyBvbmJvYXJkaW5nIGFuZCBpbiBjdXN0b21pemUgY29tbXVuaXR5ICovXG4gIHByb21wdHM6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRbXVxuICAvKiogQ2hhbm5lbCBJRHMgdGhhdCBtZW1iZXJzIGdldCBvcHRlZCBpbnRvIGF1dG9tYXRpY2FsbHkgKi9cbiAgZGVmYXVsdF9jaGFubmVsX2lkczogc3RyaW5nW11cbiAgLyoqIFdoZXRoZXIgb25ib2FyZGluZyBpcyBlbmFibGVkIGluIHRoZSBndWlsZCAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBDdXJyZW50IG1vZGUgb2Ygb25ib2FyZGluZyAqL1xuICBtb2RlOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LW9uYm9hcmRpbmctcHJvbXB0LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0IHtcbiAgLyoqIElEIG9mIHRoZSBwcm9tcHQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBwcm9tcHQgKi9cbiAgdHlwZTogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFR5cGVcbiAgLyoqIE9wdGlvbnMgYXZhaWxhYmxlIHdpdGhpbiB0aGUgcHJvbXB0ICovXG4gIG9wdGlvbnM6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb25bXVxuICAvKiogVGl0bGUgb2YgdGhlIHByb21wdCAqL1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBhcmUgbGltaXRlZCB0byBzZWxlY3Rpbmcgb25lIG9wdGlvbiBmb3IgdGhlIHByb21wdCAqL1xuICBzaW5nbGVfc2VsZWN0OiBib29sZWFuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvbXB0IGlzIHJlcXVpcmVkIGJlZm9yZSBhIHVzZXIgY29tcGxldGVzIHRoZSBvbmJvYXJkaW5nIGZsb3cgKi9cbiAgcmVxdWlyZWQ6IGJvb2xlYW5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm9tcHQgaXMgcHJlc2VudCBpbiB0aGUgb25ib2FyZGluZyBmbG93LiBJZiBgZmFsc2VgLCB0aGUgcHJvbXB0IHdpbGwgb25seSBhcHBlYXIgaW4gdGhlIENoYW5uZWxzICYgUm9sZXMgdGFiICovXG4gIGluX29uYm9hcmRpbmc6IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1wcm9tcHQtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIHtcbiAgLyoqIElEIG9mIHRoZSBwcm9tcHQgb3B0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEcyBmb3IgY2hhbm5lbHMgYSBtZW1iZXIgaXMgYWRkZWQgdG8gd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkICovXG4gIGNoYW5uZWxfaWRzOiBzdHJpbmdbXVxuICAvKiogSURzIGZvciByb2xlcyBhc3NpZ25lZCB0byBhIG1lbWJlciB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgKi9cbiAgcm9sZV9pZHM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBFbW9qaSBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppPzogRGlzY29yZEVtb2ppXG4gIC8qKlxuICAgKiBFbW9qaSBJRCBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX2lkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBFbW9qaSBuYW1lIG9mIHRoZSBvcHRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBvciB1cGRhdGluZyBhIHByb21wdCBvcHRpb24sIHRoZSBgZW1vamlfaWRgLCBgZW1vamlfbmFtZWAsIGFuZCBgZW1vamlfYW5pbWF0ZWRgIGZpZWxkcyBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZW1vamkgb2JqZWN0LlxuICAgKi9cbiAgZW1vamlfbmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZW1vamkgaXMgYW5pbWF0ZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBvciB1cGRhdGluZyBhIHByb21wdCBvcHRpb24sIHRoZSBgZW1vamlfaWRgLCBgZW1vamlfbmFtZWAsIGFuZCBgZW1vamlfYW5pbWF0ZWRgIGZpZWxkcyBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZW1vamkgb2JqZWN0LlxuICAgKi9cbiAgZW1vamlfYW5pbWF0ZWQ/OiBib29sZWFuXG4gIC8qKiBUaXRsZSBvZiB0aGUgb3B0aW9uICovXG4gIHRpdGxlOiBzdHJpbmdcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24gKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LXByb21wdC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFR5cGUge1xuICBNdWx0aXBsZUNob2ljZSxcbiAgRHJvcERvd24sXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3Qtb25ib2FyZGluZy1tb2RlICovXG5leHBvcnQgZW51bSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZSB7XG4gIC8qKiBDb3VudHMgb25seSBEZWZhdWx0IENoYW5uZWxzIHRvd2FyZHMgY29uc3RyYWludHMgKi9cbiAgT25ib2FyZGluZ0RlZmF1bHQsXG4gIC8qKiBDb3VudHMgRGVmYXVsdCBDaGFubmVscyBhbmQgUXVlc3Rpb25zIHRvd2FyZHMgY29uc3RyYWludHMgKi9cbiAgT25ib2FyZGluZ0FkdmFuY2VkLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3RlYW1zI3RlYW0tbWVtYmVyLXJvbGVzLXRlYW0tbWVtYmVyLXJvbGUtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRUZWFtTWVtYmVyUm9sZSB7XG4gIC8qKiBPd25lcnMgYXJlIHRoZSBtb3N0IHBlcm1pc3NpYWJsZSByb2xlLCBhbmQgY2FuIHRha2UgZGVzdHJ1Y3RpdmUsIGlycmV2ZXJzaWJsZSBhY3Rpb25zIGxpa2UgZGVsZXRpbmcgdGhlIHRlYW0gaXRzZWxmLiBUZWFtcyBhcmUgbGltaXRlZCB0byAxIG93bmVyLiAqL1xuICBPd25lciA9ICdvd25lcicsXG4gIC8qKiBBZG1pbnMgaGF2ZSBzaW1pbGFyIGFjY2VzcyBhcyBvd25lcnMsIGV4Y2VwdCB0aGV5IGNhbm5vdCB0YWtlIGRlc3RydWN0aXZlIGFjdGlvbnMgb24gdGhlIHRlYW0gb3IgdGVhbS1vd25lZCBhcHBzLiAqL1xuICBBZG1pbiA9ICdhZG1pbicsXG4gIC8qKlxuICAgKiBEZXZlbG9wZXJzIGNhbiBhY2Nlc3MgaW5mb3JtYXRpb24gYWJvdXQgdGVhbS1vd25lZCBhcHBzLCBsaWtlIHRoZSBjbGllbnQgc2VjcmV0IG9yIHB1YmxpYyBrZXkuXG4gICAqIFRoZXkgY2FuIGFsc28gdGFrZSBsaW1pdGVkIGFjdGlvbnMgb24gdGVhbS1vd25lZCBhcHBzLCBsaWtlIGNvbmZpZ3VyaW5nIGludGVyYWN0aW9uIGVuZHBvaW50cyBvciByZXNldHRpbmcgdGhlIGJvdCB0b2tlbi5cbiAgICogTWVtYmVycyB3aXRoIHRoZSBEZXZlbG9wZXIgcm9sZSAqY2Fubm90KiBtYW5hZ2UgdGhlIHRlYW0gb3IgaXRzIG1lbWJlcnMsIG9yIHRha2UgZGVzdHJ1Y3RpdmUgYWN0aW9ucyBvbiB0ZWFtLW93bmVkIGFwcHMuXG4gICAqL1xuICBEZXZlbG9wZXIgPSAnZGV2ZWxvcGVyJyxcbiAgLyoqIFJlYWQtb25seSBtZW1iZXJzIGNhbiBhY2Nlc3MgaW5mb3JtYXRpb24gYWJvdXQgYSB0ZWFtIGFuZCBhbnkgdGVhbS1vd25lZCBhcHBzLiBTb21lIGV4YW1wbGVzIGluY2x1ZGUgZ2V0dGluZyB0aGUgSURzIG9mIGFwcGxpY2F0aW9ucyBhbmQgZXhwb3J0aW5nIHBheW91dCByZWNvcmRzLiAqL1xuICBSZWFkT25seSA9ICdyZWFkX29ubHknLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL2VudGl0bGVtZW50cyNlbnRpdGxlbWVudC1vYmplY3QtZW50aXRsZW1lbnQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbnRpdGxlbWVudCB7XG4gIC8qKiBJRCBvZiB0aGUgZW50aXRsZW1lbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIFNLVSAqL1xuICBza3VfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHVzZXIgdGhhdCBpcyBncmFudGVkIGFjY2VzcyB0byB0aGUgZW50aXRsZW1lbnQncyBza3UgKi9cbiAgdXNlcl9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkIHRoYXQgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gdGhlIGVudGl0bGVtZW50J3Mgc2t1ICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgcGFyZW50IGFwcGxpY2F0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgZW50aXRsZW1lbnQgKi9cbiAgdHlwZTogRGlzY29yZEVudGl0bGVtZW50VHlwZVxuICAvKiogRW50aXRsZW1lbnQgd2FzIGRlbGV0ZWQgKi9cbiAgZGVsZXRlZDogYm9vbGVhblxuICAvKiogU3RhcnQgZGF0ZSBhdCB3aGljaCB0aGUgZW50aXRsZW1lbnQgaXMgdmFsaWQuIE5vdCBwcmVzZW50IHdoZW4gdXNpbmcgdGVzdCBlbnRpdGxlbWVudHMgKi9cbiAgc3RhcnRzX2F0Pzogc3RyaW5nXG4gIC8qKiBEYXRlIGF0IHdoaWNoIHRoZSBlbnRpdGxlbWVudCBpcyBubyBsb25nZXIgdmFsaWQuIE5vdCBwcmVzZW50IHdoZW4gdXNpbmcgdGVzdCBlbnRpdGxlbWVudHMgKi9cbiAgZW5kc19hdD86IHN0cmluZ1xuICAvKiogRm9yIGNvbnN1bWFibGUgaXRlbXMsIHdoZXRoZXIgb3Igbm90IHRoZSBlbnRpdGxlbWVudCBoYXMgYmVlbiBjb25zdW1lZCAqL1xuICBjb25zdW1lZD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9lbnRpdGxlbWVudHMjZW50aXRsZW1lbnQtb2JqZWN0LWVudGl0bGVtZW50LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkRW50aXRsZW1lbnRUeXBlIHtcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYnkgdXNlciAqL1xuICBQdXJjaGFzZSA9IDEsXG4gIC8qKiBFbnRpdGxlbWVudCBmb3IgRGlzY29yZCBOaXRybyBzdWJzY3JpcHRpb24gKi9cbiAgUHJlbWl1bVN1YnNjcmlwdGlvbiA9IDIsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgZ2lmdGVkIGJ5IGRldmVsb3BlciAqL1xuICBEZXZlbG9wZXJHaWZ0ID0gMyxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYnkgYSBkZXYgaW4gYXBwbGljYXRpb24gdGVzdCBtb2RlICovXG4gIFRlc3RNb2RlUHVyY2hhc2UgPSA0LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdyYW50ZWQgd2hlbiB0aGUgU0tVIHdhcyBmcmVlICovXG4gIEZyZWVQdXJjaGFzZSA9IDUsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgZ2lmdGVkIGJ5IGFub3RoZXIgdXNlciAqL1xuICBVc2VyR2lmdCA9IDYsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgY2xhaW1lZCBieSB1c2VyIGZvciBmcmVlIGFzIGEgTml0cm8gU3Vic2NyaWJlciAqL1xuICBQcmVtaXVtUHVyY2hhc2UgPSA3LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIHB1cmNoYXNlZCBhcyBhbiBhcHAgc3Vic2NyaXB0aW9uICovXG4gIEFwcGxpY2F0aW9uU3Vic2NyaXB0aW9uID0gOCxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9za3VzI3NrdS1vYmplY3Qtc2t1LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2t1IHtcbiAgLyoqIElEIG9mIFNLVSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIFNLVSAqL1xuICB0eXBlOiBEaXNjb3JkU2t1VHlwZVxuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBDdXN0b21lci1mYWNpbmcgbmFtZSBvZiB5b3VyIHByZW1pdW0gb2ZmZXJpbmcgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBTeXN0ZW0tZ2VuZXJhdGVkIFVSTCBzbHVnIGJhc2VkIG9uIHRoZSBTS1UncyBuYW1lICovXG4gIHNsdWc6IHN0cmluZ1xuICAvKiogU0tVIGZsYWdzIGNvbWJpbmVkIGFzIGEgYml0ZmllbGQgKi9cbiAgZmxhZ3M6IERpc2NvcmRTa3VGbGFnXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vc2t1cyNza3Utb2JqZWN0LXNrdS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFNrdVR5cGUge1xuICAvKiogRHVyYWJsZSBvbmUtdGltZSBwdXJjaGFzZSAqL1xuICBEdXJhYmxlID0gMixcbiAgLyoqIENvbnN1bWFibGUgb25lLXRpbWUgcHVyY2hhc2UgKi9cbiAgQ29uc3VtYWJsZSA9IDMsXG4gIC8qKiBSZXByZXNlbnRzIGEgcmVjdXJyaW5nIHN1YnNjcmlwdGlvbiAqL1xuICBTdWJzY3JpcHRpb24gPSA1LFxuICAvKiogU3lzdGVtLWdlbmVyYXRlZCBncm91cCBmb3IgZWFjaCBTVUJTQ1JJUFRJT04gU0tVIGNyZWF0ZWQgKi9cbiAgU3Vic2NyaXB0aW9uR3JvdXAgPSA2LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL3NrdXMjc2t1LW9iamVjdC1za3UtZmxhZ3MgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRTa3VGbGFnIHtcbiAgLyoqIFNLVSBpcyBhdmFpbGFibGUgZm9yIHB1cmNoYXNlICovXG4gIEF2YWlsYWJsZSA9IDEgPDwgMixcbiAgLyoqIFJlY3VycmluZyBTS1UgdGhhdCBjYW4gYmUgcHVyY2hhc2VkIGJ5IGEgdXNlciBhbmQgYXBwbGllZCB0byBhIHNpbmdsZSBzZXJ2ZXIuIEdyYW50cyBhY2Nlc3MgdG8gZXZlcnkgdXNlciBpbiB0aGF0IHNlcnZlci4gKi9cbiAgR3VpbGRTdWJzY3JpcHRpb24gPSAxIDw8IDcsXG4gIC8qKiBSZWN1cnJpbmcgU0tVIHB1cmNoYXNlZCBieSBhIHVzZXIgZm9yIHRoZW1zZWx2ZXMuIEdyYW50cyBhY2Nlc3MgdG8gdGhlIHB1cmNoYXNpbmcgdXNlciBpbiBldmVyeSBzZXJ2ZXIuICovXG4gIFVzZXJTdWJzY3JpcHRpb24gPSAxIDw8IDgsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdC1tZXNzYWdlLWZsYWdzICovXG5leHBvcnQgZW51bSBEaXNjb3JkTWVzc2FnZUZsYWcge1xuICAvKiogVGhpcyBtZXNzYWdlIGhhcyBiZWVuIHB1Ymxpc2hlZCB0byBzdWJzY3JpYmVkIGNoYW5uZWxzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpICovXG4gIENyb3NzcG9zdGVkID0gMSA8PCAwLFxuICAvKiogVGhpcyBtZXNzYWdlIG9yaWdpbmF0ZWQgZnJvbSBhIG1lc3NhZ2UgaW4gYW5vdGhlciBjaGFubmVsICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpICovXG4gIElzQ3Jvc3Nwb3N0ID0gMSA8PCAxLFxuICAvKiogRG8gbm90IGluY2x1ZGUgYW55IGVtYmVkcyB3aGVuIHNlcmlhbGl6aW5nIHRoaXMgbWVzc2FnZSAqL1xuICBTdXBwcmVzc0VtYmVkcyA9IDEgPDwgMixcbiAgLyoqIFRoZSBzb3VyY2UgbWVzc2FnZSBmb3IgdGhpcyBjcm9zc3Bvc3QgaGFzIGJlZW4gZGVsZXRlZCAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBTb3VyY2VNZXNzYWdlRGVsZXRlZCA9IDEgPDwgMyxcbiAgLyoqIFRoaXMgbWVzc2FnZSBjYW1lIGZyb20gdGhlIHVyZ2VudCBtZXNzYWdlIHN5c3RlbSAqL1xuICBVcmdlbnQgPSAxIDw8IDQsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgaGFzIGFuIGFzc29jaWF0ZWQgdGhyZWFkLCB3aXRoIHRoZSBzYW1lIGlkIGFzIHRoZSBtZXNzYWdlICovXG4gIEhhc1RocmVhZCA9IDEgPDwgNSxcbiAgLyoqIFRoaXMgbWVzc2FnZSBpcyBvbmx5IHZpc2libGUgdG8gdGhlIHVzZXIgd2hvIGludm9rZWQgdGhlIEludGVyYWN0aW9uICovXG4gIEVwaGVtZXJhbCA9IDEgPDwgNixcbiAgLyoqIFRoaXMgbWVzc2FnZSBpcyBhbiBJbnRlcmFjdGlvbiBSZXNwb25zZSBhbmQgdGhlIGJvdCBpcyBcInRoaW5raW5nXCIgKi9cbiAgTG9hZGluZyA9IDEgPDwgNyxcbiAgLyoqIFRoaXMgbWVzc2FnZSBmYWlsZWQgdG8gbWVudGlvbiBzb21lIHJvbGVzIGFuZCBhZGQgdGhlaXIgbWVtYmVycyB0byB0aGUgdGhyZWFkICovXG4gIEZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkID0gMSA8PCA4LFxuICAvKiogVGhpcyBtZXNzYWdlIHdpbGwgbm90IHRyaWdnZXIgcHVzaCBhbmQgZGVza3RvcCBub3RpZmljYXRpb25zICovXG4gIFN1cHByZXNzTm90aWZpY2F0aW9ucyA9IDEgPDwgMTIsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgaXMgYSB2b2ljZSBtZXNzYWdlICovXG4gIElzVm9pY2VNZXNzYWdlID0gMSA8PCAxMyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9yZWNlaXZpbmctYW5kLXJlc3BvbmRpbmcjaW50ZXJhY3Rpb24tb2JqZWN0LWludGVyYWN0aW9uLWNvbnRleHQtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlIHtcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBzZXJ2ZXJzICovXG4gIEd1aWxkID0gMCxcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBETXMgd2l0aCB0aGUgYXBwJ3MgYm90IHVzZXIgKi9cbiAgQm90RG0gPSAxLFxuICAvKiogSW50ZXJhY3Rpb24gY2FuIGJlIHVzZWQgd2l0aGluIEdyb3VwIERNcyBhbmQgRE1zIG90aGVyIHRoYW4gdGhlIGFwcCdzIGJvdCB1c2VyICovXG4gIFByaXZhdGVDaGFubmVsID0gMixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNidWxrLWd1aWxkLWJhbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQnVsa0JhbiB7XG4gIC8qKiBsaXN0IG9mIHVzZXIgaWRzLCB0aGF0IHdlcmUgc3VjY2Vzc2Z1bGx5IGJhbm5lZCAqL1xuICBiYW5uZWRfdXNlcnM6IHN0cmluZ1tdXG4gIC8qKiBsaXN0IG9mIHVzZXIgaWRzLCB0aGF0IHdlcmUgbm90IGJhbm5lZCAqL1xuICBmYWlsZWRfdXNlcnM6IHN0cmluZ1tdXG59XG4iXSwibmFtZXMiOlsiT0F1dGgyU2NvcGUiLCJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlIiwiRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5IiwiRGlzY29yZFBvbGxMYXlvdXRUeXBlIiwiQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIiwiQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMiLCJEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0cyIsIkF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZSIsIkRpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlIiwiRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGUiLCJEaXNjb3JkVGVhbU1lbWJlclJvbGUiLCJEaXNjb3JkRW50aXRsZW1lbnRUeXBlIiwiRGlzY29yZFNrdVR5cGUiLCJEaXNjb3JkU2t1RmxhZyIsIkRpc2NvcmRNZXNzYWdlRmxhZyIsIkRpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBcUZZQTtJQUNWOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxpRUFBaUU7SUFFakU7Ozs7O0dBS0M7SUFFRCwwRkFBMEY7SUFFMUY7Ozs7O0dBS0M7SUFFRCxnR0FBZ0c7SUFFaEcsbUVBQW1FO0lBRW5FLHVIQUF1SDtJQUV2SCwrRUFBK0U7SUFFL0UseUhBQXlIO0lBRXpIOzs7OztHQUtDO0lBRUQsZ0hBQWdIO0lBRWhILGdEQUFnRDtJQUVoRCx1SEFBdUg7SUFFdkgsb0lBQW9JO0lBRXBJLCtJQUErSTtJQUUvSTs7Ozs7O0dBTUM7SUFFRDs7O0dBR0M7SUFFRDs7Ozs7R0FLQztJQUVELDJFQUEyRTtJQUUzRTs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxrR0FBa0c7R0E1SHhGQSxnQkFBQUE7O1VBZ1ZBQztJQUNWLGtDQUFrQztJQUVsQyxnQ0FBZ0M7R0FIdEJBLHNDQUFBQTs7VUFnR0FDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBQUFBLGlDQUFBQTs7VUF5QkFDO0lBQ1YscURBQXFEO0lBRXJELHdCQUF3QjtHQUhkQSxnQ0FBQUE7O1VBNDZCQUM7SUFDVix1QkFBdUI7R0FEYkEsMEJBQUFBOztVQWljQUM7SUFDVixnQ0FBZ0M7R0FEdEJBLDZCQUFBQTs7VUFLQUM7Ozs7OztHQUFBQSwrQkFBQUE7O1VBdUJBQztJQUNWLDhEQUE4RDtJQUU5RCwrREFBK0Q7SUFFL0QsaUVBQWlFO0dBTHZEQSxvREFBQUE7O1VBZ0JBQztJQUNWLDBEQUEwRDtJQUUxRCw2Q0FBNkM7SUFFN0MsMENBQTBDO0dBTGhDQSw2QkFBQUE7O1VBMHhDQUM7OztHQUFBQSxxQ0FBQUE7O1VBTUFDO0lBQ1YscURBQXFEO0lBRXJELDhEQUE4RDtHQUhwREEsK0JBQUFBOztVQVFBQztJQUNWLHVKQUF1SjtJQUV2SixzSEFBc0g7SUFFdEg7Ozs7R0FJQztJQUVELHVLQUF1SztHQVg3SkEsMEJBQUFBOztVQXdDQUM7SUFDVixzQ0FBc0M7SUFFdEMsK0NBQStDO0lBRS9DLHdDQUF3QztJQUV4QyxnRUFBZ0U7SUFFaEUsa0RBQWtEO0lBRWxELDJDQUEyQztJQUUzQyxtRUFBbUU7SUFFbkUscURBQXFEO0dBZjNDQSwyQkFBQUE7O1VBb0NBQztJQUNWLDhCQUE4QjtJQUU5QixpQ0FBaUM7SUFFakMsd0NBQXdDO0lBRXhDLDZEQUE2RDtHQVBuREEsbUJBQUFBOztVQVlBQztJQUNWLGtDQUFrQztJQUVsQyw4SEFBOEg7SUFFOUgsNEdBQTRHO0dBTGxHQSxtQkFBQUE7O1VBVUFDO0lBQ1YsbUZBQW1GO0lBRW5GLHNGQUFzRjtJQUV0Riw0REFBNEQ7SUFFNUQsbUZBQW1GO0lBRW5GLHFEQUFxRDtJQUVyRCwyRUFBMkU7SUFFM0UseUVBQXlFO0lBRXpFLHNFQUFzRTtJQUV0RSxrRkFBa0Y7SUFFbEYsaUVBQWlFO0lBRWpFLG9DQUFvQztHQXJCMUJBLHVCQUFBQTs7VUEwQkFDO0lBQ1YsMkNBQTJDO0lBRTNDLCtEQUErRDtJQUUvRCxtRkFBbUY7R0FMekVBLGtDQUFBQSJ9
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWN0aXZpdHlUeXBlcyxcbiAgQWxsb3dlZE1lbnRpb25zVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICBBcHBsaWNhdGlvbkZsYWdzLFxuICBBdHRhY2htZW50RmxhZ3MsXG4gIEF1ZGl0TG9nRXZlbnRzLFxuICBCdXR0b25TdHlsZXMsXG4gIENoYW5uZWxGbGFncyxcbiAgQ2hhbm5lbFR5cGVzLFxuICBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVscyxcbiAgRW1iZWRUeXBlcyxcbiAgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICBGb3J1bUxheW91dCxcbiAgR2F0ZXdheUV2ZW50TmFtZXMsXG4gIEd1aWxkRmVhdHVyZXMsXG4gIEd1aWxkTnNmd0xldmVsLFxuICBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9ycyxcbiAgSW50ZXJhY3Rpb25UeXBlcyxcbiAgTG9jYWxpemF0aW9uLFxuICBNZXNzYWdlQWN0aXZpdHlUeXBlcyxcbiAgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxuICBNZXNzYWdlVHlwZXMsXG4gIE1mYUxldmVscyxcbiAgT3ZlcndyaXRlVHlwZXMsXG4gIFBpY2tQYXJ0aWFsLFxuICBQcmVtaXVtVGllcnMsXG4gIFByZW1pdW1UeXBlcyxcbiAgUm9sZUZsYWdzLFxuICBTY2hlZHVsZWRFdmVudEVudGl0eVR5cGUsXG4gIFNjaGVkdWxlZEV2ZW50UHJpdmFjeUxldmVsLFxuICBTY2hlZHVsZWRFdmVudFN0YXR1cyxcbiAgU29ydE9yZGVyVHlwZXMsXG4gIFN0aWNrZXJGb3JtYXRUeXBlcyxcbiAgU3RpY2tlclR5cGVzLFxuICBTeXN0ZW1DaGFubmVsRmxhZ3MsXG4gIFRhcmdldFR5cGVzLFxuICBUZWFtTWVtYmVyc2hpcFN0YXRlcyxcbiAgVGV4dFN0eWxlcyxcbiAgVmVyaWZpY2F0aW9uTGV2ZWxzLFxuICBWaWRlb1F1YWxpdHlNb2RlcyxcbiAgV2ViaG9va1R5cGVzLFxufSBmcm9tICcuL3NoYXJlZC5qcydcblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI3VzZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVc2VyIHtcbiAgLyoqIFRoZSB1c2VyJ3MgdXNlcm5hbWUsIG5vdCB1bmlxdWUgYWNyb3NzIHRoZSBwbGF0Zm9ybSAqL1xuICB1c2VybmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGRpc3BsYXkgbmFtZSwgaWYgaXQgaXMgc2V0LiBGb3IgYm90cywgdGhpcyBpcyB0aGUgYXBwbGljYXRpb24gbmFtZSAqL1xuICBnbG9iYWxfbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIncyBjaG9zZW4gbGFuZ3VhZ2Ugb3B0aW9uICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgZmxhZ3M/OiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIE5pdHJvIHN1YnNjcmlwdGlvbiBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIHByZW1pdW1fdHlwZT86IFByZW1pdW1UeXBlc1xuICAvKiogVGhlIHB1YmxpYyBmbGFncyBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIHB1YmxpY19mbGFncz86IG51bWJlclxuICAvKiogdGhlIHVzZXIncyBiYW5uZXIgY29sb3IgZW5jb2RlZCBhcyBhbiBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uIG9mIGhleGFkZWNpbWFsIGNvbG9yIGNvZGUgKi9cbiAgYWNjZW50X2NvbG9yPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlcidzIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgZGlzY29yZC10YWcgKi9cbiAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGF2YXRhciBoYXNoICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGUgdXNlciBiZWxvbmdzIHRvIGFuIE9BdXRoMiBhcHBsaWNhdGlvbiAqL1xuICBib3Q/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGFuIE9mZmljaWFsIERpc2NvcmQgU3lzdGVtIHVzZXIgKHBhcnQgb2YgdGhlIHVyZ2VudCBtZXNzYWdlIHN5c3RlbSkgKi9cbiAgc3lzdGVtPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgdHdvIGZhY3RvciBlbmFibGVkIG9uIHRoZWlyIGFjY291bnQgKi9cbiAgbWZhX2VuYWJsZWQ/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSBlbWFpbCBvbiB0aGlzIGFjY291bnQgaGFzIGJlZW4gdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgdXNlcidzIGVtYWlsICovXG4gIGVtYWlsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHVzZXIncyBiYW5uZXIsIG9yIG51bGwgaWYgdW5zZXQgKi9cbiAgYmFubmVyPzogc3RyaW5nXG4gIC8qKiBkYXRhIGZvciB0aGUgdXNlcidzIGF2YXRhciBkZWNvcmF0aW9uICovXG4gIGF2YXRhcl9kZWNvcmF0aW9uX2RhdGE/OiBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGFcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc2hhcmVkLXJlc291cmNlcy1vYXV0aDItc2NvcGVzICovXG5leHBvcnQgZW51bSBPQXV0aDJTY29wZSB7XG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gZmV0Y2ggZGF0YSBmcm9tIGEgdXNlcidzIFwiTm93IFBsYXlpbmcvUmVjZW50bHkgUGxheWVkXCIgbGlzdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzXG4gICAqL1xuICBBY3Rpdml0aWVzUmVhZCA9ICdhY3Rpdml0aWVzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBhY3Rpdml0eVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciBhcHBzLlxuICAgKi9cbiAgQWN0aXZpdGllc1dyaXRlID0gJ2FjdGl2aXRpZXMud3JpdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHJlYWQgYnVpbGQgZGF0YSBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0J1aWxkc1JlYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byB1cGxvYWQvdXBkYXRlIGJ1aWxkcyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBBcHBsaWNhdGlvbnNCdWlsZHNVcGxvYWQgPSAnYXBwbGljYXRpb25zLmJ1aWxkcy51cGxvYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIGFkZCBjb21tYW5kcyB0byBhIGd1aWxkIC0gaW5jbHVkZWQgYnkgZGVmYXVsdCB3aXRoIHRoZSBgYm90YCBzY29wZSAqL1xuICBBcHBsaWNhdGlvbnNDb21tYW5kcyA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBpdHMgQXBwbGljYXRpb24gQ29tbWFuZHMgdmlhIHRoaXMgYmVhcmVyIHRva2VuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgY2FuIG9ubHkgYmUgdXNlZCB3aGVuIHVzaW5nIGEgW0NsaWVudCBDcmVkZW50aWFsIEdyYW50XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2NsaWVudC1jcmVkZW50aWFscy1ncmFudClcbiAgICovXG4gIEFwcGxpY2F0aW9uc0NvbW1hbmRzVXBkYXRlID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcy51cGRhdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBwZXJtaXNzaW9ucyBmb3IgaXRzIGNvbW1hbmRzIGluIGEgZ3VpbGQgYSB1c2VyIGhhcyBwZXJtaXNzaW9ucyB0byAqL1xuICBBcHBsaWNhdGlvbkNvbW1hbmRzUGVybWlzc2lvbnNVcGRhdGUgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzLnBlcm1pc3Npb25zLnVwZGF0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBlbnRpdGxlbWVudHMgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNFbnRpdGxlbWVudHMgPSAnYXBwbGljYXRpb25zLmVudGl0bGVtZW50cycsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBhbmQgdXBkYXRlIHN0b3JlIGRhdGEgKFNLVXMsIHN0b3JlIGxpc3RpbmdzLCBhY2hpZXZlbWVudHMsIGV0Yy4pIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnMgKi9cbiAgQXBwbGljYXRpb25zU3RvcmVVcGRhdGUgPSAnYXBwbGljYXRpb25zLnN0b3JlLnVwZGF0ZScsXG4gIC8qKiBGb3Igb2F1dGgyIGJvdHMsIHRoaXMgcHV0cyB0aGUgYm90IGluIHRoZSB1c2VyJ3Mgc2VsZWN0ZWQgZ3VpbGQgYnkgZGVmYXVsdCAqL1xuICBCb3QgPSAnYm90JyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9jb25uZWN0aW9uc10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LXVzZXItY29ubmVjdGlvbnMpICovXG4gIENvbm5lY3Rpb25zID0gJ2Nvbm5lY3Rpb25zJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBzZWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIncyBETXMgYW5kIGdyb3VwIERNc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgRE1DaGFubmVsc1JlYWQgPSAnZG1fY2hhbm5lbHMucmVhZCcsXG4gIC8qKiBBZGRzIHRoZSBgZW1haWxgIGZpbGVkIHRvIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKSAqL1xuICBFbWFpbCA9ICdlbWFpbCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gam9pbiB1c2VycyB0byBhIGdyb3VwIGRtICovXG4gIEdyb3VwRE1Kb2lucyA9ICdnZG0uam9pbicsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvZ3VpbGRzXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyLWd1aWxkcykgKi9cbiAgR3VpbGRzID0gJ2d1aWxkcycsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy9ndWlsZHMve2d1aWxkLmlkfS9tZW1iZXJzL3t1c2VyLmlkfV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2FkZC1ndWlsZC1tZW1iZXIpICovXG4gIEd1aWxkc0pvaW4gPSAnZ3VpbGRzLmpvaW4nLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2d1aWxkcy97Z3VpbGQuaWR9L21lbWJlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlci1ndWlsZC1tZW1iZXIpICovXG4gIEd1aWxkc01lbWJlcnNSZWFkID0gJ2d1aWxkcy5tZW1iZXJzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGUgcmV0dXJuIG9iamVjdCBmcm9tIFsvdXNlcnMvQG1lXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyKVxuICAgKiBkb2VzIE5PVCBjb250YWluIHRoZSBgZW1haWxgIGZpZWxkIHVubGVzcyB0aGUgc2NvcGUgYGVtYWlsYCBpcyBhbHNvIHVzZWRcbiAgICovXG4gIElkZW50aWZ5ID0gJ2lkZW50aWZ5JyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFwaSBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byByZWFkIG1lc3NhZ2VzIGZyb20gYWxsIGNsaWVudCBjaGFubmVsc1xuICAgKiAob3RoZXJ3aXNlIHJlc3RyaWN0ZWQgdG8gY2hhbm5lbHMvZ3VpbGRzIHlvdXIgYXBwIGNyZWF0ZXMpXG4gICAqL1xuICBNZXNzYWdlc1JlYWQgPSAnbWVzc2FnZXMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8ga25vdyBhIHVzZXIncyBmcmllbmRzIGFuZCBpbXBsaWNpdCByZWxhdGlvbnNoaXBzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSZWxhdGlvbnNoaXBzUmVhZCA9ICdyZWxhdGlvbnNoaXBzLnJlYWQnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHVwZGF0ZSBhIHVzZXIncyBjb25uZWN0aW9uIGFuZCBtZXRhZGF0YSBmb3IgdGhlIGFwcCAqL1xuICBSb2xlQ29ubmVjdGlvbnNXcml0ZSA9ICdyb2xlX2Nvbm5lY3Rpb25zLndyaXRlJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIGNvbnRyb2wgYSB1c2VyJ3MgbG9jYWwgRGlzY29yZCBjbGllbnRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQyA9ICdycGMnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gdXBkYXRlIGEgdXNlcidzIGFjdGl2aXR5XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENBY3Rpdml0aWVzV3JpdGUgPSAncnBjLmFjdGl2aXRpZXMud3JpdGUnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYXBpIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlY2VpdmUgbm90aWZpY2F0aW9ucyBwdXNoZWQgb3V0IHRvIHRoZSB1c2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENOb3RpZmljYXRpb25zUmVhZCA9ICdycGMubm90aWZpY2F0aW9ucy5yZWFkJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlYWQgYSB1c2VyJ3Mgdm9pY2Ugc2V0dGluZ3MgYW5kIGxpc3RlbiBmb3Igdm9pY2UgZXZlbnRzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENWb2ljZVJlYWQgPSAncnBjLnZvaWNlLnJlYWQnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gdXBkYXRlIGEgdXNlcidzIHZvaWNlIHNldHRpbmdzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUENWb2ljZVdyaXRlID0gJ3JwYy52b2ljZS53cml0ZScsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gY29ubmVjdCB0byB2b2ljZSBvbiB1c2VyJ3MgYmVoYWxmIGFuZCBzZWUgYWxsIHRoZSB2b2ljZSBtZW1iZXJzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBWb2ljZSA9ICd2b2ljZScsXG4gIC8qKiBHZW5lcmF0ZSBhIHdlYmhvb2sgdGhhdCBpcyByZXR1cm5lZCBpbiB0aGUgb2F1dGggdG9rZW4gcmVzcG9uc2UgZm9yIGF1dGhvcml6YXRpb24gY29kZSBncmFudHMgKi9cbiAgV2ViaG9va0luY29taW5nID0gJ3dlYmhvb2suaW5jb21pbmcnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLW9iamVjdC1pbnRlZ3JhdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIEludGVncmF0aW9uIElkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEludGVncmF0aW9uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJbnRlZ3JhdGlvbiB0eXBlICh0d2l0Y2gsIHlvdXR1YmUsIGRpc2NvcmQsIG9yIGd1aWxkX3N1YnNjcmlwdGlvbikuICovXG4gIHR5cGU6ICd0d2l0Y2gnIHwgJ3lvdXR1YmUnIHwgJ2Rpc2NvcmQnXG4gIC8qKiBJcyB0aGlzIGludGVncmF0aW9uIGVuYWJsZWQgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIElzIHRoaXMgaW50ZWdyYXRpb24gc3luY2luZyAqL1xuICBzeW5jaW5nPzogYm9vbGVhblxuICAvKiogUm9sZSBJZCB0aGF0IHRoaXMgaW50ZWdyYXRpb24gdXNlcyBmb3IgXCJzdWJzY3JpYmVyc1wiICovXG4gIHJvbGVfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgZW1vdGljb25zIHNob3VsZCBiZSBzeW5jZWQgZm9yIHRoaXMgaW50ZWdyYXRpb24gKHR3aXRjaCBvbmx5IGN1cnJlbnRseSkgKi9cbiAgZW5hYmxlX2Vtb3RpY29ucz86IGJvb2xlYW5cbiAgLyoqIFRoZSBiZWhhdmlvciBvZiBleHBpcmluZyBzdWJzY3JpYmVycyAqL1xuICBleHBpcmVfYmVoYXZpb3I/OiBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9yc1xuICAvKiogVGhlIGdyYWNlIHBlcmlvZCAoaW4gZGF5cykgYmVmb3JlIGV4cGlyaW5nIHN1YnNjcmliZXJzICovXG4gIGV4cGlyZV9ncmFjZV9wZXJpb2Q/OiBudW1iZXJcbiAgLyoqIFdoZW4gdGhpcyBpbnRlZ3JhdGlvbiB3YXMgbGFzdCBzeW5jZWQgKi9cbiAgc3luY2VkX2F0Pzogc3RyaW5nXG4gIC8qKiBIb3cgbWFueSBzdWJzY3JpYmVycyB0aGlzIGludGVncmF0aW9uIGhhcyAqL1xuICBzdWJzY3JpYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBIYXMgdGhpcyBpbnRlZ3JhdGlvbiBiZWVuIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIFVzZXIgZm9yIHRoaXMgaW50ZWdyYXRpb24gKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBJbnRlZ3JhdGlvbiBhY2NvdW50IGluZm9ybWF0aW9uICovXG4gIGFjY291bnQ6IERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnRcbiAgLyoqIFRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIGZvciBkaXNjb3JkIGludGVncmF0aW9ucyAqL1xuICBhcHBsaWNhdGlvbj86IERpc2NvcmRJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uXG4gIC8qKiB0aGUgc2NvcGVzIHRoZSBhcHBsaWNhdGlvbiBoYXMgYmVlbiBhdXRob3JpemVkIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1hY2NvdW50LW9iamVjdC1pbnRlZ3JhdGlvbi1hY2NvdW50LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25BY2NvdW50IHtcbiAgLyoqIElkIG9mIHRoZSBhY2NvdW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIGFjY291bnQgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tYXBwbGljYXRpb24tb2JqZWN0LWludGVncmF0aW9uLWFwcGxpY2F0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgYXBwICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXBwICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIFRoZSBib3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXBwbGljYXRpb24gKi9cbiAgYm90PzogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZ2l0aHViLmNvbS9kaXNjb3JkL2Rpc2NvcmQtYXBpLWRvY3MvYmxvYi9tYXN0ZXIvZG9jcy90b3BpY3MvR2F0ZXdheS5tZCNpbnRlZ3JhdGlvbi1jcmVhdGUtZXZlbnQtYWRkaXRpb25hbC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIGV4dGVuZHMgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2dpdGh1Yi5jb20vZGlzY29yZC9kaXNjb3JkLWFwaS1kb2NzL2Jsb2IvbWFzdGVyL2RvY3MvdG9waWNzL0dhdGV3YXkubWQjaW50ZWdyYXRpb24tZGVsZXRlLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb25EZWxldGUge1xuICAvKiogSW50ZWdyYXRpb24gaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIGZvciB0aGlzIGRpc2NvcmQgaW50ZWdyYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLWludGVncmF0aW9ucy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkSW50ZWdyYXRpb25zVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCB3aG9zZSBpbnRlZ3JhdGlvbnMgd2VyZSB1cGRhdGVkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3R5cGluZy1zdGFydCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVHlwaW5nU3RhcnQge1xuICAvKiogVW5peCB0aW1lIChpbiBzZWNvbmRzKSBvZiB3aGVuIHRoZSB1c2VyIHN0YXJ0ZWQgdHlwaW5nICovXG4gIHRpbWVzdGFtcDogbnVtYmVyXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVyIHdobyBzdGFydGVkIHR5cGluZyBpZiB0aGlzIGhhcHBlbmVkIGluIGEgZ3VpbGQgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW1lbWJlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGRlYWZlbmVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIGRlYWY/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZz86IGJvb2xlYW5cbiAgLyoqIFRoZSB1c2VyIHRoaXMgZ3VpbGQgbWVtYmVyIHJlcHJlc2VudHMgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGlzIHVzZXJzIGd1aWxkIG5pY2tuYW1lICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbWVtYmVycyBjdXN0b20gYXZhdGFyIGZvciB0aGlzIHNlcnZlci4gKi9cbiAgYXZhdGFyPzogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiByb2xlIG9iamVjdCBpZHMgKi9cbiAgcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGpvaW5lZCB0aGUgZ3VpbGQgKi9cbiAgam9pbmVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgc3RhcnRlZCBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBwZXJtaXNzaW9ucyB0aGlzIG1lbWJlciBoYXMgaW4gdGhlIGd1aWxkLiBPbmx5IHByZXNlbnQgb24gaW50ZXJhY3Rpb24gZXZlbnRzIGFuZCBPQXV0aDIgY3VycmVudCBtZW1iZXIgZmV0Y2guICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgdGltZW91dCB3aWxsIGV4cGlyZSBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNvbW11bmljYXRlIGluIHRoZSBndWlsZCBhZ2FpbiAoc2V0IG51bGwgdG8gcmVtb3ZlIHRpbWVvdXQpLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0ICovXG4gIGNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBkYXRhIGZvciB0aGUgbWVtYmVyJ3MgZ3VpbGQgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2F2YXRhci1kZWNvcmF0aW9uLWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB7XG4gIC8qKiB0aGUgYXZhdGFyIGRlY29yYXRpb24gaGFzaCAqL1xuICBhc3NldDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgYXZhdGFyIGRlY29yYXRpb24ncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBBbiBhcnJheSBvZiBycGMgb3JpZ2luIHVybHMsIGlmIHJwYyBpcyBlbmFibGVkICovXG4gIHJwY19vcmlnaW5zPzogc3RyaW5nW11cbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHRlcm1zIG9mIHNlcnZpY2UgKi9cbiAgdGVybXNfb2Zfc2VydmljZV91cmw/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHByaXZhY3kgcG9saWN5ICovXG4gIHByaXZhY3lfcG9saWN5X3VybD86IHN0cmluZ1xuICAvKiogVGhlIGhleCBlbmNvZGVkIGtleSBmb3IgdmVyaWZpY2F0aW9uIGluIGludGVyYWN0aW9ucyBhbmQgdGhlIEdhbWVTREsncyBHZXRUaWNrZXQgKi9cbiAgdmVyaWZ5X2tleTogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgaWQgb2YgdGhlIFwiR2FtZSBTS1VcIiB0aGF0IGlzIGNyZWF0ZWQsIGlmIGV4aXN0cyAqL1xuICBwcmltYXJ5X3NrdV9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIFVSTCBzbHVnIHRoYXQgbGlua3MgdG8gdGhlIHN0b3JlIHBhZ2UgKi9cbiAgc2x1Zz86IHN0cmluZ1xuICAvKiogVGhlIGFwcGxpY2F0aW9uJ3MgcHVibGljIGZsYWdzICovXG4gIGZsYWdzPzogQXBwbGljYXRpb25GbGFnc1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gZmFsc2Ugb25seSBhcHAgb3duZXIgY2FuIGpvaW4gdGhlIGFwcCdzIGJvdCB0byBndWlsZHMgKi9cbiAgYm90X3B1YmxpYzogYm9vbGVhblxuICAvKiogV2hlbiB0cnVlIHRoZSBhcHAncyBib3Qgd2lsbCBvbmx5IGpvaW4gdXBvbiBjb21wbGV0aW9uIG9mIHRoZSBmdWxsIG9hdXRoMiBjb2RlIGdyYW50IGZsb3cgKi9cbiAgYm90X3JlcXVpcmVfY29kZV9ncmFudDogYm9vbGVhblxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBjb250YWluaW5nIGluZm8gb24gdGhlIG93bmVyIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBvd25lcj86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBJZiB0aGUgYXBwbGljYXRpb24gYmVsb25ncyB0byBhIHRlYW0sIHRoaXMgd2lsbCBiZSBhIGxpc3Qgb2YgdGhlIG1lbWJlcnMgb2YgdGhhdCB0ZWFtICovXG4gIHRlYW06IERpc2NvcmRUZWFtIHwgbnVsbFxuICAvKiogR3VpbGQgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHAuIEZvciBleGFtcGxlLCBhIGRldmVsb3BlciBzdXBwb3J0IHNlcnZlci4gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIEEgcGFydGlhbCBvYmplY3Qgb2YgdGhlIGFzc29jaWF0ZWQgZ3VpbGQgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIElmIHRoaXMgYXBwbGljYXRpb24gaXMgYSBnYW1lIHNvbGQgb24gRGlzY29yZCwgdGhpcyBmaWVsZCB3aWxsIGJlIHRoZSBoYXNoIG9mIHRoZSBpbWFnZSBvbiBzdG9yZSBlbWJlZHMgKi9cbiAgY292ZXJfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIHVwIHRvIDUgdGFncyBkZXNjcmliaW5nIHRoZSBjb250ZW50IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICB0YWdzPzogc3RyaW5nW11cbiAgLyoqIHNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGluLWFwcCBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xuICAvKipcbiAgICogRGVmYXVsdCBzY29wZXMgYW5kIHBlcm1pc3Npb25zIGZvciBlYWNoIHN1cHBvcnRlZCBpbnN0YWxsYXRpb24gY29udGV4dC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgaW4gcHJldmlldy5cbiAgICovXG4gIGludGVncmF0aW9uX3R5cGVzX2NvbmZpZz86IFBhcnRpYWw8UmVjb3JkPGAke0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZX1gLCBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVDb25maWd1cmF0aW9uPj5cbiAgLyoqIHRoZSBhcHBsaWNhdGlvbidzIGRlZmF1bHQgY3VzdG9tIGF1dGhvcml6YXRpb24gbGluaywgaWYgZW5hYmxlZCAqL1xuICBjdXN0b21faW5zdGFsbF91cmw/OiBzdHJpbmdcbiAgLyoqIHRoZSBhcHBsaWNhdGlvbidzIHJvbGUgY29ubmVjdGlvbiB2ZXJpZmljYXRpb24gZW50cnkgcG9pbnQsIHdoaWNoIHdoZW4gY29uZmlndXJlZCB3aWxsIHJlbmRlciB0aGUgYXBwIGFzIGEgdmVyaWZpY2F0aW9uIG1ldGhvZCBpbiB0aGUgZ3VpbGQgcm9sZSB2ZXJpZmljYXRpb24gY29uZmlndXJhdGlvbiAqL1xuICByb2xlX2Nvbm5lY3Rpb25zX3ZlcmlmaWNhdGlvbl91cmw/OiBzdHJpbmdcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHRoZSBhcHAncyBndWlsZCBtZW1iZXJzaGlwLiAqL1xuICBhcHByb3hpbWF0ZV9ndWlsZF9jb3VudD86IG51bWJlclxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBmb3IgdGhlIGJvdCB1c2VyIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXBwICovXG4gIGJvdD86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBBcnJheSBvZiByZWRpcmVjdCBVUklzIGZvciB0aGUgYXBwICovXG4gIHJlZGlyZWN0X3VyaXM/OiBzdHJpbmdbXVxuICAvKiogSW50ZXJhY3Rpb25zIGVuZHBvaW50IFVSTCBmb3IgdGhlIGFwcCAqL1xuICBpbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jYXBwbGljYXRpb24tb2JqZWN0LWFwcGxpY2F0aW9uLWludGVncmF0aW9uLXR5cGUtY29uZmlndXJhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBJbnN0YWxsIHBhcmFtcyBmb3IgZWFjaCBpbnN0YWxsYXRpb24gY29udGV4dCdzIGRlZmF1bHQgaW4tYXBwIGF1dGhvcml6YXRpb24gbGlua1xuICAgKlxuICAgKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jaW5zdGFsbC1wYXJhbXMtb2JqZWN0LWluc3RhbGwtcGFyYW1zLXN0cnVjdHVyZVxuICAgKi9cbiAgb2F1dGgyX2luc3RhbGxfcGFyYW1zPzoge1xuICAgIC8qKiBTY29wZXMgdG8gYWRkIHRoZSBhcHBsaWNhdGlvbiB0byB0aGUgc2VydmVyIHdpdGggKi9cbiAgICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgICAvKiogUGVybWlzc2lvbnMgdG8gcmVxdWVzdCBmb3IgdGhlIGJvdCByb2xlICovXG4gICAgcGVybWlzc2lvbnM6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSB7XG4gIC8qKiBBcHAgaXMgaW5zdGFsbGFibGUgdG8gc2VydmVycyAqL1xuICBHdWlsZEluc3RhbGwgPSAwLFxuICAvKiogQXBwIGlzIGluc3RhbGxhYmxlIHRvIHVzZXJzICovXG4gIFVzZXJJbnN0YWxsID0gMSxcbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZFRva2VuRXhjaGFuZ2UgPSBEaXNjb3JkVG9rZW5FeGNoYW5nZUF1dGhvcml6YXRpb25Db2RlIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4gfCBEaXNjb3JkVG9rZW5FeGNoYW5nZUNsaWVudENyZWRlbnRpYWxzXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB7XG4gIGdyYW50X3R5cGU6ICdhdXRob3JpemF0aW9uX2NvZGUnXG4gIC8qKiBUaGUgY29kZSBmb3IgdGhlIHRva2VuIGV4Y2hhbmdlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHJlZGlyZWN0X3VyaSBhc3NvY2lhdGVkIHdpdGggdGhpcyBhdXRob3JpemF0aW9uICovXG4gIHJlZGlyZWN0X3VyaTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2NsaWVudC1jcmVkZW50aWFscy1ncmFudCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVG9rZW5FeGNoYW5nZVJlZnJlc2hUb2tlbiB7XG4gIGdyYW50X3R5cGU6ICdyZWZyZXNoX3Rva2VuJ1xuICAvKiogdGhlIHVzZXIncyByZWZyZXNoIHRva2VuICovXG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFscyB7XG4gIGdyYW50X3R5cGU6ICdjbGllbnRfY3JlZGVudGlhbHMnXG4gIC8qKiBUaGUgc2NvcGUocykgZm9yIHRoZSBhY2Nlc3MgdG9rZW4gKi9cbiAgc2NvcGU6IE9BdXRoMlNjb3BlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWNjZXNzVG9rZW5SZXNwb25zZSB7XG4gIC8qKiBUaGUgYWNjZXNzIHRva2VuIG9mIHRoZSB1c2VyICovXG4gIGFjY2Vzc190b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiB0b2tlbiAqL1xuICB0b2tlbl90eXBlOiBzdHJpbmdcbiAgLyoqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB0aGF0IHRoZSBhY2Nlc3MgdG9rZW4gaXMgZXhwaXJlZCAqL1xuICBleHBpcmVzX2luOiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSByZWZyZXNoIHRva2VuIHRvIHJlZnJlc2ggdGhlIGFjY2VzcyB0b2tlblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIHRoZSB0b2tlbiBleGNoYW5nZSBpcyBhIGNsaWVudCBjcmVkZW50aWFscyB0eXBlIGdyYW50IHRoaXMgdmFsdWUgaXMgbm90IGRlZmluZWQuXG4gICAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhY2Nlc3MgdG9rZW4gKi9cbiAgc2NvcGU6IHN0cmluZ1xuICAvKiogVGhlIHdlYmhvb2sgdGhlIHVzZXIgY3JlYXRlZCBmb3IgdGhlIGFwcGxpY2F0aW9uLiBSZXF1aXJlcyB0aGUgYHdlYmhvb2suaW5jb21pbmdgIHNjb3BlICovXG4gIHdlYmhvb2s/OiBEaXNjb3JkSW5jb21pbmdXZWJob29rXG4gIC8qKiBUaGUgZ3VpbGQgdGhlIGJvdCBoYXMgYmVlbiBhZGRlZC4gUmVxdWlyZXMgdGhlIGBib3RgIHNjb3BlICovXG4gIGd1aWxkPzogRGlzY29yZEd1aWxkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuUmV2b2NhdGlvbiB7XG4gIC8qKiBUaGUgYWNjZXNzIHRva2VuIHRvIHJldm9rZSAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBPcHRpb25hbCwgdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZyBmb3IgdGhlIHJldm9jYXRpb24gKi9cbiAgdG9rZW5fdHlwZV9oaW50PzogJ2FjY2Vzc190b2tlbicgfCAncmVmcmVzaF90b2tlbidcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjZ2V0LWN1cnJlbnQtYXV0aG9yaXphdGlvbi1pbmZvcm1hdGlvbi1yZXNwb25zZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uIHtcbiAgYXBwbGljYXRpb246IERpc2NvcmRBcHBsaWNhdGlvblxuICAvKiogdGhlIHNjb3BlcyB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB0aGUgYXBwbGljYXRpb24gZm9yICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxuICAvKiogd2hlbiB0aGUgYWNjZXNzIHRva2VuIGV4cGlyZXMgKi9cbiAgZXhwaXJlczogc3RyaW5nXG4gIC8qKiB0aGUgdXNlciB3aG8gaGFzIGF1dGhvcml6ZWQsIGlmIHRoZSB1c2VyIGhhcyBhdXRob3JpemVkIHdpdGggdGhlIGBpZGVudGlmeWAgc2NvcGUgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC1jb25uZWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ29ubmVjdGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY29ubmVjdGlvbiBhY2NvdW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSB1c2VybmFtZSBvZiB0aGUgY29ubmVjdGlvbiBhY2NvdW50ICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIHNlcnZpY2Ugb2YgdGhpcyBjb25uZWN0aW9uICovXG4gIHR5cGU6IERpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGVcbiAgLyoqIHdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgcmV2b2tlZCAqL1xuICByZXZva2VkPzogYm9vbGVhblxuICAvKiogYW4gYXJyYXkgb2YgcGFydGlhbCBzZXJ2ZXIgaW50ZWdyYXRpb25zICovXG4gIGludGVncmF0aW9ucz86IEFycmF5PFBhcnRpYWw8RGlzY29yZEludGVncmF0aW9uPj5cbiAgLyoqIHdoZXRoZXIgdGhlIGNvbm5lY3Rpb24gaXMgdmVyaWZpZWQgKi9cbiAgdmVyaWZpZWQ6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgZnJpZW5kIHN5bmMgaXMgZW5hYmxlZCBmb3IgdGhpcyBjb25uZWN0aW9uICovXG4gIGZyaWVuZF9zeW5jOiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIGFjdGl2aXRpZXMgcmVsYXRlZCB0byB0aGlzIGNvbm5lY3Rpb24gd2lsbCBiZSBzaG93biBpbiBwcmVzZW5jZSB1cGRhdGVzICovXG4gIHNob3dfYWN0aXZpdHk6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhpcyBjb25uZWN0aW9uIGhhcyBhIGNvcnJlc3BvbmRpbmcgdGhpcmQgcGFydHkgT0F1dGgyIHRva2VuICovXG4gIHR3b193YXlfbGluazogYm9vbGVhblxuICAvKiogdmlzaWJpbGl0eSBvZiB0aGlzIGNvbm5lY3Rpb24gKi9cbiAgdmlzaWJpbGl0eTogRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC1zZXJ2aWNlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25TZXJ2aWNlVHlwZSB7XG4gIEJhdHRsZU5ldCA9ICdiYXR0bGVuZXQnLFxuICBCdW5naWUgPSAnQnVuZ2llLm5ldCcsXG4gIERvbWFpbiA9ICdkb21haW4nLFxuICBlQmF5ID0gJ2ViYXknLFxuICBFcGljR2FtZXMgPSAnZXBpY2dhbWVzJyxcbiAgRmFjZWJvb2sgPSAnZmFjZWJvb2snLFxuICBHaXRIdWIgPSAnZ2l0aHViJyxcbiAgSW5zdGFncmFtID0gJ2luc3RhZ3JhbScsXG4gIExlYWd1ZU9mTGVnZW5kcyA9ICdsZWFndWVvZmxlZ2VuZHMnLFxuICBQYXlQYWwgPSAncGF5cGFsJyxcbiAgUGxheVN0YXRpb25OZXR3b3JrID0gJ3BsYXlzdGF0aW9uJyxcbiAgUmVkZGl0ID0gJ3JlZGRpdCcsXG4gIFJpb3RHYW1lcyA9ICdyaW90Z2FtZXMnLFxuICBTcG90aWZ5ID0gJ3Nwb3RpZnknLFxuICBTa3lwZSA9ICdza3lwZScsXG4gIFN0ZWFtID0gJ3N0ZWFtJyxcbiAgVGlrVG9rID0gJ3Rpa3RvaycsXG4gIFR3aXRjaCA9ICd0d2l0Y2gnLFxuICBUd2l0dGVyID0gJ3R3aXR0ZXInLFxuICBYYm94ID0gJ3hib3gnLFxuICBZb3VUdWJlID0gJ3lvdXR1YmUnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtdmlzaWJpbGl0eS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5IHtcbiAgLyoqIGludmlzaWJsZSB0byBldmVyeW9uZSBleGNlcHQgdGhlIHVzZXIgdGhlbXNlbHZlcyAqL1xuICBOb25lID0gMCxcbiAgLyoqIHZpc2libGUgdG8gZXZlcnlvbmUgKi9cbiAgRXZlcnlvbmUgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjYXBwbGljYXRpb24tcm9sZS1jb25uZWN0aW9uLW9iamVjdC1hcHBsaWNhdGlvbi1yb2xlLWNvbm5lY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uIHtcbiAgLyoqIHRoZSB2YW5pdHkgbmFtZSBvZiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDUwIGNoYXJhY3RlcnMpICovXG4gIHBsYXRmb3JtX25hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSB1c2VybmFtZSBvbiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDEwMCBjaGFyYWN0ZXJzKSAqL1xuICBwbGF0Zm9ybV91c2VybmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogb2JqZWN0IG1hcHBpbmcgYXBwbGljYXRpb24gcm9sZSBjb25uZWN0aW9uIG1ldGFkYXRhIGtleXMgdG8gdGhlaXIgc3RyaW5naWZpZWQgdmFsdWUgKG1heCAxMDAgY2hhcmFjdGVycykgZm9yIHRoZSB1c2VyIG9uIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlYW0ge1xuICAvKiogSGFzaCBvZiB0aGUgaW1hZ2Ugb2YgdGhlIHRlYW0ncyBpY29uICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFVuaXF1ZSBJRCBvZiB0aGUgdGVhbSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBNZW1iZXJzIG9mIHRoZSB0ZWFtICovXG4gIG1lbWJlcnM6IERpc2NvcmRUZWFtTWVtYmVyW11cbiAgLyoqIFVzZXIgSUQgb2YgdGhlIGN1cnJlbnQgdGVhbSBvd25lciAqL1xuICBvd25lcl91c2VyX2lkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHRlYW0gKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1tZW1iZXJzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVhbU1lbWJlciB7XG4gIC8qKiBUaGUgdXNlcidzIG1lbWJlcnNoaXAgc3RhdGUgb24gdGhlIHRlYW0gKi9cbiAgbWVtYmVyc2hpcF9zdGF0ZTogVGVhbU1lbWJlcnNoaXBTdGF0ZXNcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFyZW50IHRlYW0gb2Ygd2hpY2ggdGhleSBhcmUgYSBtZW1iZXIgKi9cbiAgdGVhbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYXZhdGFyLCBkaXNjcmltaW5hdG9yLCBpZCwgdXNlcm5hbWUsIGFuZCBnbG9iYWxfbmFtZSBvZiB0aGUgdXNlciAqL1xuICB1c2VyOiBQYXJ0aWFsPERpc2NvcmRVc2VyPiAmIFBpY2s8RGlzY29yZFVzZXIsICdhdmF0YXInIHwgJ2Rpc2NyaW1pbmF0b3InIHwgJ2lkJyB8ICd1c2VybmFtZScgfCAnZ2xvYmFsX25hbWUnPlxuICAvKiogUm9sZSBvZiB0aGUgdGVhbSBtZW1iZXIgKi9cbiAgcm9sZTogRGlzY29yZFRlYW1NZW1iZXJSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN3ZWJob29rcy11cGRhdGUtd2ViaG9vay11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWJob29rVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2FsbG93ZWQtbWVudGlvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBbGxvd2VkTWVudGlvbnMge1xuICAvKiogQW4gYXJyYXkgb2YgYWxsb3dlZCBtZW50aW9uIHR5cGVzIHRvIHBhcnNlIGZyb20gdGhlIGNvbnRlbnQuICovXG4gIHBhcnNlPzogQWxsb3dlZE1lbnRpb25zVHlwZXNbXVxuICAvKiogRm9yIHJlcGxpZXMsIHdoZXRoZXIgdG8gbWVudGlvbiB0aGUgYXV0aG9yIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHJlcGxpZWQgdG8gKGRlZmF1bHQgZmFsc2UpICovXG4gIHJlcGxpZWRfdXNlcj86IGJvb2xlYW5cbiAgLyoqIEFycmF5IG9mIHJvbGVfaWRzIHRvIG1lbnRpb24gKE1heCBzaXplIG9mIDEwMCkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxuICAvKiogQXJyYXkgb2YgdXNlcl9pZHMgdG8gbWVudGlvbiAoTWF4IHNpemUgb2YgMTAwKSAqL1xuICB1c2Vycz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkIHtcbiAgLyoqIFRpdGxlIG9mIGVtYmVkICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVtYmVkIChhbHdheXMgXCJyaWNoXCIgZm9yIHdlYmhvb2sgZW1iZWRzKSAqL1xuICB0eXBlPzogRW1iZWRUeXBlc1xuICAvKiogRGVzY3JpcHRpb24gb2YgZW1iZWQgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBlbWJlZCAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIENvbG9yIGNvZGUgb2YgdGhlIGVtYmVkICovXG4gIGNvbG9yPzogbnVtYmVyXG4gIC8qKiBUaW1lc3RhbXAgb2YgZW1iZWQgY29udGVudCAqL1xuICB0aW1lc3RhbXA/OiBzdHJpbmdcbiAgLyoqIEZvb3RlciBpbmZvcm1hdGlvbiAqL1xuICBmb290ZXI/OiBEaXNjb3JkRW1iZWRGb290ZXJcbiAgLyoqIEltYWdlIGluZm9ybWF0aW9uICovXG4gIGltYWdlPzogRGlzY29yZEVtYmVkSW1hZ2VcbiAgLyoqIFRodW1ibmFpbCBpbmZvcm1hdGlvbiAqL1xuICB0aHVtYm5haWw/OiBEaXNjb3JkRW1iZWRUaHVtYm5haWxcbiAgLyoqIFZpZGVvIGluZm9ybWF0aW9uICovXG4gIHZpZGVvPzogRGlzY29yZEVtYmVkVmlkZW9cbiAgLyoqIFByb3ZpZGVyIGluZm9ybWF0aW9uICovXG4gIHByb3ZpZGVyPzogRGlzY29yZEVtYmVkUHJvdmlkZXJcbiAgLyoqIEF1dGhvciBpbmZvcm1hdGlvbiAqL1xuICBhdXRob3I/OiBEaXNjb3JkRW1iZWRBdXRob3JcbiAgLyoqIEZpZWxkcyBpbmZvcm1hdGlvbiAqL1xuICBmaWVsZHM/OiBEaXNjb3JkRW1iZWRGaWVsZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtYXV0aG9yLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRBdXRob3Ige1xuICAvKiogTmFtZSBvZiBhdXRob3IgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBVcmwgb2YgYXV0aG9yICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogVXJsIG9mIGF1dGhvciBpY29uIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICBpY29uX3VybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBhdXRob3IgaWNvbiAqL1xuICBwcm94eV9pY29uX3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWZpZWxkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGaWVsZCB7XG4gIC8qKiBOYW1lIG9mIHRoZSBmaWVsZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIHRoZSBmaWVsZCAqL1xuICB2YWx1ZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGZpZWxkIHNob3VsZCBkaXNwbGF5IGlubGluZSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtZm9vdGVyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGb290ZXIge1xuICAvKiogRm9vdGVyIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nXG4gIC8qKiBVcmwgb2YgZm9vdGVyIGljb24gKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIGljb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZvb3RlciBpY29uICovXG4gIHByb3h5X2ljb25fdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtaW1hZ2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEltYWdlIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgaW1hZ2UgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSBpbWFnZSAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBpbWFnZSAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIGltYWdlICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkUHJvdmlkZXIge1xuICAvKiogTmFtZSBvZiBwcm92aWRlciAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgcHJvdmlkZXIgKi9cbiAgdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdGh1bWJuYWlsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRUaHVtYm5haWwge1xuICAvKiogU291cmNlIHVybCBvZiB0aHVtYm5haWwgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB0aHVtYm5haWwgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgdGh1bWJuYWlsICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgdGh1bWJuYWlsICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdmlkZW8tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFZpZGVvIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgdmlkZW8gKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB2aWRlbyAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiB2aWRlbyAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIHZpZGVvICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNhdHRhY2htZW50LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXR0YWNobWVudCB7XG4gIC8qKiBOYW1lIG9mIGZpbGUgYXR0YWNoZWQgKi9cbiAgZmlsZW5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHRpdGxlIG9mIHRoZSBmaWxlICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUaGUgYXR0YWNobWVudCdzIFttZWRpYSB0eXBlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NZWRpYV90eXBlKSAqL1xuICBjb250ZW50X3R5cGU/OiBzdHJpbmdcbiAgLyoqIFNpemUgb2YgZmlsZSBpbiBieXRlcyAqL1xuICBzaXplOiBudW1iZXJcbiAgLyoqIFNvdXJjZSB1cmwgb2YgZmlsZSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBmaWxlICovXG4gIHByb3h5X3VybDogc3RyaW5nXG4gIC8qKiBBdHRhY2htZW50IGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIGRlc2NyaXB0aW9uIGZvciB0aGUgZmlsZSAobWF4IDEwMjQgY2hhcmFjdGVycykgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBmaWxlIChpZiBpbWFnZSkgKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgbnVsbFxuICAvKiogV2lkdGggb2YgZmlsZSAoaWYgaW1hZ2UpICovXG4gIHdpZHRoPzogbnVtYmVyIHwgbnVsbFxuICAvKiogd2hldGhlciB0aGlzIGF0dGFjaG1lbnQgaXMgZXBoZW1lcmFsLiBFcGhlbWVyYWwgYXR0YWNobWVudHMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHJlbW92ZWQgYWZ0ZXIgYSBzZXQgcGVyaW9kIG9mIHRpbWUuIEVwaGVtZXJhbCBhdHRhY2htZW50cyBvbiBtZXNzYWdlcyBhcmUgZ3VhcmFudGVlZCB0byBiZSBhdmFpbGFibGUgYXMgbG9uZyBhcyB0aGUgbWVzc2FnZSBpdHNlbGYgZXhpc3RzLiAqL1xuICBlcGhlbWVyYWw/OiBib29sZWFuXG4gIC8qKiBUaGUgZHVyYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgZm9yIGEgdm9pY2UgbWVzc2FnZSAqL1xuICBkdXJhdGlvbl9zZWNzPzogbnVtYmVyXG4gIC8qKiBBIGJhc2U2NCBlbmNvZGVkIGJ5dGVhcnJheSByZXByZXNlbnRpbmcgYSBzYW1wbGVkIHdhdmVmb3JtIGZvciBhIHZvaWNlIG1lc3NhZ2UgKi9cbiAgd2F2ZWZvcm0/OiBzdHJpbmdcbiAgLyoqIEF0dGFjaG1lbnQgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IEF0dGFjaG1lbnRGbGFnc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3dlYmhvb2sjd2ViaG9vay1vYmplY3Qtd2ViaG9vay1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRXZWJob29rID0gRGlzY29yZEluY29taW5nV2ViaG9vayB8IERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2tcblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5jb21pbmdXZWJob29rIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSB3ZWJob29rICovXG4gIHR5cGU6IFdlYmhvb2tUeXBlc1xuICAvKiogVGhlIHNlY3VyZSB0b2tlbiBvZiB0aGUgd2ViaG9vayAocmV0dXJuZWQgZm9yIEluY29taW5nIFdlYmhvb2tzKSAqL1xuICB0b2tlbj86IHN0cmluZ1xuICAvKiogVGhlIHVybCB1c2VkIGZvciBleGVjdXRpbmcgdGhlIHdlYmhvb2sgKHJldHVybmVkIGJ5IHRoZSB3ZWJob29rcyBPQXV0aDIgZmxvdykgKi9cbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgd2ViaG9vayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoaXMgd2ViaG9vayB3YXMgY3JlYXRlZCBieSAobm90IHJldHVybmVkIHdoZW4gZ2V0dGluZyBhIHdlYmhvb2sgd2l0aCBpdHMgdG9rZW4pICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgd2ViaG9vayAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVmYXVsdCB1c2VyIGF2YXRhciBoYXNoIG9mIHRoZSB3ZWJob29rICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgd2ViaG9vayAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcykgKi9cbiAgc291cmNlX2NoYW5uZWw/OiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2sge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgdHlwZTogV2ViaG9va1R5cGVzLkFwcGxpY2F0aW9uXG4gIC8qKiBUaGUgc2VjdXJlIHRva2VuIG9mIHRoZSB3ZWJob29rIChyZXR1cm5lZCBmb3IgSW5jb21pbmcgV2ViaG9va3MpICovXG4gIHRva2VuPzogc3RyaW5nXG4gIC8qKiBUaGUgdXJsIHVzZWQgZm9yIGV4ZWN1dGluZyB0aGUgd2ViaG9vayAocmV0dXJuZWQgYnkgdGhlIHdlYmhvb2tzIE9BdXRoMiBmbG93KSAqL1xuICB1cmw/OiBzdHJpbmdcblxuICAvKiogVGhlIGlkIG9mIHRoZSB3ZWJob29rICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGd1aWxkX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgdGhpcyB3ZWJob29rIHdhcyBjcmVhdGVkIGJ5IChub3QgcmV0dXJuZWQgd2hlbiBnZXR0aW5nIGEgd2ViaG9vayB3aXRoIGl0cyB0b2tlbikgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSB3ZWJob29rICovXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZWZhdWx0IHVzZXIgYXZhdGFyIGhhc2ggb2YgdGhlIHdlYmhvb2sgKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiB0aGF0IGNyZWF0ZWQgdGhpcyB3ZWJob29rICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9jaGFubmVsPzogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRydWUgaWYgdGhlIHVzZXIgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcj86IGJvb2xlYW5cbiAgLyoqIEFmayB0aW1lb3V0IGluIHNlY29uZHMgKi9cbiAgYWZrX3RpbWVvdXQ6IG51bWJlclxuICAvKiogVHJ1ZSBpZiB0aGUgc2VydmVyIHdpZGdldCBpcyBlbmFibGVkICovXG4gIHdpZGdldF9lbmFibGVkPzogYm9vbGVhblxuICAvKiogVmVyaWZpY2F0aW9uIGxldmVsIHJlcXVpcmVkIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmVyaWZpY2F0aW9uX2xldmVsOiBWZXJpZmljYXRpb25MZXZlbHNcbiAgLyoqIERlZmF1bHQgbWVzc2FnZSBub3RpZmljYXRpb25zIGxldmVsICovXG4gIGRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zOiBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVsc1xuICAvKiogRXhwbGljaXQgY29udGVudCBmaWx0ZXIgbGV2ZWwgKi9cbiAgZXhwbGljaXRfY29udGVudF9maWx0ZXI6IEV4cGxpY2l0Q29udGVudEZpbHRlckxldmVsc1xuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBSZXF1aXJlZCBNRkEgbGV2ZWwgZm9yIHRoZSBndWlsZCAqL1xuICBtZmFfbGV2ZWw6IE1mYUxldmVsc1xuICAvKiogU3lzdGVtIGNoYW5uZWwgZmxhZ3MgKi9cbiAgc3lzdGVtX2NoYW5uZWxfZmxhZ3M6IFN5c3RlbUNoYW5uZWxGbGFnc1xuICAvKiogVHJ1ZSBpZiB0aGlzIGlzIGNvbnNpZGVyZWQgYSBsYXJnZSBndWlsZCAqL1xuICBsYXJnZT86IGJvb2xlYW5cbiAgLyoqIFRydWUgaWYgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogVG90YWwgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcmVzZW5jZXMgZm9yIHRoZSBndWlsZCAodGhlIGRlZmF1bHQgdmFsdWUsIGN1cnJlbnRseSAyNTAwMCwgaXMgaW4gZWZmZWN0IHdoZW4gbnVsbCBpcyByZXR1cm5lZCkgKi9cbiAgbWF4X3ByZXNlbmNlcz86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZW1iZXJzIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWF4X21lbWJlcnM/OiBudW1iZXJcbiAgLyoqIFRoZSB2YW5pdHkgdXJsIGNvZGUgZm9yIHRoZSBndWlsZCAqL1xuICB2YW5pdHlfdXJsX2NvZGU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiBhIGd1aWxkICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBQcmVtaXVtIHRpZXIgKFNlcnZlciBCb29zdCBsZXZlbCkgKi9cbiAgcHJlbWl1bV90aWVyOiBQcmVtaXVtVGllcnNcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm9vc3RzIHRoaXMgZ3VpbGQgY3VycmVudGx5IGhhcyAqL1xuICBwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhfdmlkZW9fY2hhbm5lbF91c2Vycz86IG51bWJlclxuICAvKiogTWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSBzdGFnZSB2aWRlbyBjaGFubmVsICovXG4gIG1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzPzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEd1aWxkIE5TRlcgbGV2ZWwgKi9cbiAgbnNmd19sZXZlbDogR3VpbGROc2Z3TGV2ZWxcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZDogYm9vbGVhblxuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIEljb24gaGFzaCwgcmV0dXJuZWQgd2hlbiBpbiB0aGUgdGVtcGxhdGUgb2JqZWN0ICovXG4gIGljb25faGFzaD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoOyBvbmx5IHByZXNlbnQgZm9yIGd1aWxkcyB3aXRoIHRoZSBcIkRJU0NPVkVSQUJMRVwiIGZlYXR1cmUgKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG93bmVyICovXG4gIG93bmVyX2lkOiBzdHJpbmdcbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIGZvciB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKGV4Y2x1ZGVzIG92ZXJ3cml0ZXMgYW5kIGltcGxpY2l0IHBlcm1pc3Npb25zKSAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogSWQgb2YgYWZrIGNoYW5uZWwgKi9cbiAgYWZrX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoYXQgdGhlIHdpZGdldCB3aWxsIGdlbmVyYXRlIGFuIGludml0ZSB0bywgb3IgbnVsbCBpZiBzZXQgdG8gbm8gaW52aXRlICovXG4gIHdpZGdldF9jaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogUm9sZXMgaW4gdGhlIGd1aWxkICovXG4gIHJvbGVzOiBEaXNjb3JkUm9sZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgZ3VpbGQgbm90aWNlcyBzdWNoIGFzIHdlbGNvbWUgbWVzc2FnZXMgYW5kIGJvb3N0IGV2ZW50cyBhcmUgcG9zdGVkICovXG4gIHN5c3RlbV9jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGVuIHRoaXMgZ3VpbGQgd2FzIGpvaW5lZCBhdCAqL1xuICBqb2luZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZV9zdGF0ZXM/OiBBcnJheTxPbWl0PERpc2NvcmRWb2ljZVN0YXRlLCAnZ3VpbGRJZCc+PlxuICAvKiogVXNlcnMgaW4gdGhlIGd1aWxkICovXG4gIG1lbWJlcnM/OiBEaXNjb3JkTWVtYmVyW11cbiAgLyoqIENoYW5uZWxzIGluIHRoZSBndWlsZCAqL1xuICBjaGFubmVscz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ3VpbGQgdGhhdCB0aGUgY3VycmVudCB1c2VyIGhhcyBwZXJtaXNzaW9uIHRvIHZpZXcgKi9cbiAgdGhyZWFkcz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIFByZXNlbmNlcyBvZiB0aGUgbWVtYmVycyBpbiB0aGUgZ3VpbGQsIHdpbGwgb25seSBpbmNsdWRlIG5vbi1vZmZsaW5lIG1lbWJlcnMgaWYgdGhlIHNpemUgaXMgZ3JlYXRlciB0aGFuIGxhcmdlIHRocmVzaG9sZCAqL1xuICBwcmVzZW5jZXM/OiBBcnJheTxQYXJ0aWFsPERpc2NvcmRQcmVzZW5jZVVwZGF0ZT4+XG4gIC8qKiBCYW5uZXIgaGFzaCAqL1xuICBiYW5uZXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBwcmVmZXJyZWQgbG9jYWxlIG9mIGEgQ29tbXVuaXR5IGd1aWxkOyB1c2VkIGluIHNlcnZlciBkaXNjb3ZlcnkgYW5kIG5vdGljZXMgZnJvbSBEaXNjb3JkOyBkZWZhdWx0cyB0byBcImVuLVVTXCIgKi9cbiAgcHJlZmVycmVkX2xvY2FsZTogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgYWRtaW5zIGFuZCBtb2RlcmF0b3JzIG9mIENvbW11bml0eSBndWlsZHMgcmVjZWl2ZSBub3RpY2VzIGZyb20gRGlzY29yZCAqL1xuICBwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgd2VsY29tZSBzY3JlZW4gb2YgYSBDb21tdW5pdHkgZ3VpbGQsIHNob3duIHRvIG5ldyBtZW1iZXJzLCByZXR1cm5lZCBpbiBhbiBJbnZpdGUncyBndWlsZCBvYmplY3QgKi9cbiAgd2VsY29tZV9zY3JlZW4/OiBEaXNjb3JkV2VsY29tZVNjcmVlblxuICAvKiogU3RhZ2UgaW5zdGFuY2VzIGluIHRoZSBndWlsZCAqL1xuICBzdGFnZV9pbnN0YW5jZXM/OiBEaXNjb3JkU3RhZ2VJbnN0YW5jZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgYWRtaW5zIGFuZCBtb2RlcmF0b3JzIG9mIENvbW11bml0eSBndWlsZHMgcmVjZWl2ZSBzYWZldHkgYWxlcnRzIGZyb20gRGlzY29yZCAqL1xuICBzYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUGFydGlhbEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEljb24gaGFzaCAqL1xuICBpY29uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0cnVlIGlmIHRoZSB1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI6IGJvb2xlYW5cbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIGZvciB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKGV4Y2x1ZGVzIG92ZXJ3cml0ZXMgYW5kIGltcGxpY2l0IHBlcm1pc3Npb25zKSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBub24tb2ZmbGluZSBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3Blcm1pc3Npb25zI3JvbGUtb2JqZWN0LXJvbGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlIHtcbiAgLyoqIFJvbGUgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWYgdGhpcyByb2xlIGlzIHNob3dlZCBzZXBhcmF0ZWx5IGluIHRoZSB1c2VyIGxpc3RpbmcgKi9cbiAgaG9pc3Q6IGJvb2xlYW5cbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtYW5hZ2VkIGJ5IGFuIGludGVncmF0aW9uICovXG4gIG1hbmFnZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1lbnRpb25hYmxlICovXG4gIG1lbnRpb25hYmxlOiBib29sZWFuXG4gIC8qKiBUaGUgdGFncyB0aGlzIHJvbGUgaGFzICovXG4gIHRhZ3M/OiBEaXNjb3JkUm9sZVRhZ3NcbiAgLyoqIHRoZSByb2xlIGVtb2ppIGhhc2ggKi9cbiAgaWNvbj86IHN0cmluZ1xuICAvKiogUm9sZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW50ZWdlciByZXByZXNlbnRhdGlvbiBvZiBoZXhhZGVjaW1hbCBjb2xvciBjb2RlICovXG4gIGNvbG9yOiBudW1iZXJcbiAgLyoqIFBvc2l0aW9uIG9mIHRoaXMgcm9sZSAqL1xuICBwb3NpdGlvbjogbnVtYmVyXG4gIC8qKiByb2xlIHVuaWNvZGUgZW1vamkgKi9cbiAgdW5pY29kZV9lbW9qaT86IHN0cmluZ1xuICAvKiogUm9sZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBSb2xlRmxhZ3Ncbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXRhZ3Mtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlVGFncyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdCB0aGlzIHJvbGUgYmVsb25ncyB0byAqL1xuICBib3RfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgaW50ZWdyYXRpb24gdGhpcyByb2xlIGJlbG9uZ3MgdG8gKi9cbiAgaW50ZWdyYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyB0aGUgZ3VpbGQncyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBwcmVtaXVtX3N1YnNjcmliZXI/OiBudWxsXG4gIC8qKiBJZCBvZiB0aGlzIHJvbGUncyBzdWJzY3JpcHRpb24gc2t1IGFuZCBsaXN0aW5nLiAqL1xuICBzdWJzY3JpcHRpb25fbGlzdGluZ19pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZS4gKi9cbiAgYXZhaWxhYmxlX2Zvcl9wdXJjaGFzZT86IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGd1aWxkJ3MgbGlua2VkIHJvbGUgKi9cbiAgZ3VpbGRfY29ubmVjdGlvbnM/OiBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjZW1vamktb2JqZWN0LWVtb2ppLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1vamkge1xuICAvKiogRW1vamkgbmFtZSAoY2FuIG9ubHkgYmUgbnVsbCBpbiByZWFjdGlvbiBlbW9qaSBvYmplY3RzKSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBFbW9qaSBpZCAqL1xuICBpZD86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG4gIC8qKiBVc2VyIHRoYXQgY3JlYXRlZCB0aGlzIGVtb2ppICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIG11c3QgYmUgd3JhcHBlZCBpbiBjb2xvbnMgKi9cbiAgcmVxdWlyZV9jb2xvbnM/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGNhbiBiZSB1c2VkLCBtYXkgYmUgZmFsc2UgZHVlIHRvIGxvc3Mgb2YgU2VydmVyIEJvb3N0cyAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdm9pY2Ujdm9pY2Utc3RhdGUtb2JqZWN0LXZvaWNlLXN0YXRlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VTdGF0ZSB7XG4gIC8qKiBUaGUgc2Vzc2lvbiBpZCBmb3IgdGhpcyB2b2ljZSBzdGF0ZSAqL1xuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB1c2VyIGlzIGNvbm5lY3RlZCB0byAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlciBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBtZW1iZXIgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBkZWFmZW5lZCBieSB0aGUgc2VydmVyICovXG4gIGRlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBzZXJ2ZXIgKi9cbiAgbXV0ZTogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgbG9jYWxseSBkZWFmZW5lZCAqL1xuICBzZWxmX2RlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIGxvY2FsbHkgbXV0ZWQgKi9cbiAgc2VsZl9tdXRlOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBzdHJlYW1pbmcgdXNpbmcgXCJHbyBMaXZlXCIgKi9cbiAgc2VsZl9zdHJlYW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlcidzIGNhbWVyYSBpcyBlbmFibGVkICovXG4gIHNlbGZfdmlkZW86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgc3VwcHJlc3M6IGJvb2xlYW5cbiAgLyoqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSB1c2VyIHJlcXVlc3RlZCB0byBzcGVhayAqL1xuICByZXF1ZXN0X3RvX3NwZWFrX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjY2hhbm5lbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZTogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBFeHBsaWNpdCBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgZm9yIG1lbWJlcnMgYW5kIHJvbGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKDEtMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIHRvcGljICgwLTQwOTYgY2hhcmFjdGVycyBmb3IgR1VJTERfRk9SVU0gY2hhbm5lbHMsIDAtMTAyNCBjaGFyYWN0ZXJzIGZvciBhbGwgb3RoZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBsYXN0IG1lc3NhZ2Ugc2VudCBpbiB0aGlzIGNoYW5uZWwgKG1heSBub3QgcG9pbnQgdG8gYW4gZXhpc3Rpbmcgb3IgdmFsaWQgbWVzc2FnZSkgKi9cbiAgbGFzdF9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXJcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIHJlY2lwaWVudHMgb2YgdGhlIERNICovXG4gIHJlY2lwaWVudHM/OiBEaXNjb3JkVXNlcltdXG4gIC8qKiBpY29uIGhhc2ggb2YgdGhlIGdyb3VwIERNICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBjcmVhdG9yIG9mIHRoZSB0aHJlYWQgKi9cbiAgb3duZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBncm91cCBETSBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZ3JvdXAgRE0gY2hhbm5lbHM6IHdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbWFuYWdlZCBieSBhbiBhcHBsaWNhdGlvbiB2aWEgdGhlIGBnZG0uam9pbmAgT0F1dGgyIHNjb3BlLiAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogRm9yIGd1aWxkIGNoYW5uZWxzOiBJZCBvZiB0aGUgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKGVhY2ggcGFyZW50IGNhdGVnb3J5IGNhbiBjb250YWluIHVwIHRvIDUwIGNoYW5uZWxzKSwgZm9yIHRocmVhZHM6IGlkIG9mIHRoZSB0ZXh0IGNoYW5uZWwgdGhpcyB0aHJlYWQgd2FzIGNyZWF0ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiB0aGUgbGFzdCBwaW5uZWQgbWVzc2FnZSB3YXMgcGlubmVkLiBUaGlzIG1heSBiZSBudWxsIGluIGV2ZW50cyBzdWNoIGFzIEdVSUxEX0NSRUFURSB3aGVuIGEgbWVzc2FnZSBpcyBub3QgcGlubmVkLiAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwsIDEgd2hlbiBub3QgcHJlc2VudCAqL1xuICB2aWRlb19xdWFsaXR5X21vZGU/OiBWaWRlb1F1YWxpdHlNb2Rlc1xuICAvKiogQW4gYXBwcm94aW1hdGUgY291bnQgb2YgbWVzc2FnZXMgaW4gYSB0aHJlYWQsIHN0b3BzIGNvdW50aW5nIGF0IDUwICovXG4gIG1lc3NhZ2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHVzZXJzIGluIGEgdGhyZWFkLCBzdG9wcyBjb3VudGluZyBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRocmVhZC1zcGVjaWZpYyBmaWVsZHMgbm90IG5lZWRlZCBieSBvdGhlciBjaGFubmVscyAqL1xuICB0aHJlYWRfbWV0YWRhdGE/OiBEaXNjb3JkVGhyZWFkTWV0YWRhdGFcbiAgLyoqIFRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciB0aGUgY3VycmVudCB1c2VyLCBpZiB0aGV5IGhhdmUgam9pbmVkIHRoZSB0aHJlYWQsIG9ubHkgaW5jbHVkZWQgb24gY2VydGFpbiBBUEkgZW5kcG9pbnRzICovXG4gIG1lbWJlcj86IERpc2NvcmRUaHJlYWRNZW1iZXJcbiAgLyoqIERlZmF1bHQgZHVyYXRpb24gZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcywgaW4gbWludXRlcywgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciB0aGUgaW52b2tpbmcgdXNlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIG9ubHkgaW5jbHVkZWQgd2hlbiBwYXJ0IG9mIHRoZSByZXNvbHZlZCBkYXRhIHJlY2VpdmVkIG9uIGEgc2xhc2ggY29tbWFuZCBpbnRlcmFjdGlvbi4gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIGltcGxpY2l0IHBlcm1pc3Npb25zLCB3aGljaCBtYXkgbmVlZCB0byBiZSBjaGVja2VkIHNlcGFyYXRlbHkuICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb2YgdGhlIGNoYW5uZWwgKi9cbiAgZmxhZ3M/OiBDaGFubmVsRmxhZ3NcbiAgLyoqIG51bWJlciBvZiBtZXNzYWdlcyBldmVyIHNlbnQgaW4gYSB0aHJlYWQsIGl0J3Mgc2ltaWxhciB0byBgbWVzc2FnZV9jb3VudGAgb24gbWVzc2FnZSBjcmVhdGlvbiwgYnV0IHdpbGwgbm90IGRlY3JlbWVudCB0aGUgbnVtYmVyIHdoZW4gYSBtZXNzYWdlIGlzIGRlbGV0ZWQgKi9cbiAgdG90YWxfbWVzc2FnZV9zZW50PzogbnVtYmVyXG4gIC8qKiBUaGUgc2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBEaXNjb3JkRm9ydW1UYWdbXVxuICAvKiogVGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzOiBzdHJpbmdbXVxuICAvKiogdGhlIGVtb2ppIHRvIHNob3cgaW4gdGhlIGFkZCByZWFjdGlvbiBidXR0b24gb24gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGRlZmF1bHRfcmVhY3Rpb25fZW1vamk/OiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkgfCBudWxsXG4gIC8qKiB0aGUgaW5pdGlhbCByYXRlX2xpbWl0X3Blcl91c2VyIHRvIHNldCBvbiBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gYSBjaGFubmVsLiB0aGlzIGZpZWxkIGlzIGNvcGllZCB0byB0aGUgdGhyZWFkIGF0IGNyZWF0aW9uIHRpbWUgYW5kIGRvZXMgbm90IGxpdmUgdXBkYXRlLiAqL1xuICBkZWZhdWx0X3RocmVhZF9yYXRlX2xpbWl0X3Blcl91c2VyOiBudW1iZXJcbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIEdVSUxEX0ZPUlVNIGNoYW5uZWxzLiBEZWZhdWx0cyB0byBudWxsLCB3aGljaCBpbmRpY2F0ZXMgYSBwcmVmZXJyZWQgc29ydCBvcmRlciBoYXNuJ3QgYmVlbiBzZXQgYnkgYSBjaGFubmVsIGFkbWluICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxuICAvKiogdGhlIGRlZmF1bHQgZm9ydW0gbGF5b3V0IHZpZXcgdXNlZCB0byBkaXNwbGF5IHBvc3RzIGluIGBHVUlMRF9GT1JVTWAgY2hhbm5lbHMuIERlZmF1bHRzIHRvIGAwYCwgd2hpY2ggaW5kaWNhdGVzIGEgbGF5b3V0IHZpZXcgaGFzIG5vdCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9mb3J1bV9sYXlvdXQ/OiBGb3J1bUxheW91dFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBjcmVhdGVkIHRoaXMgd2lsbCBiZSB0cnVlIG9uIHRoYXQgY2hhbm5lbCBwYXlsb2FkIGZvciB0aGUgdGhyZWFkLiAqL1xuICBuZXdseV9jcmVhdGVkPzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcHJlc2VuY2UtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSB7XG4gIC8qKiBFaXRoZXIgXCJpZGxlXCIsIFwiZG5kXCIsIFwib25saW5lXCIsIG9yIFwib2ZmbGluZVwiICovXG4gIHN0YXR1czogJ2lkbGUnIHwgJ2RuZCcgfCAnb25saW5lJyB8ICdvZmZsaW5lJ1xuICAvKiogVGhlIHVzZXIgcHJlc2VuY2UgaXMgYmVpbmcgdXBkYXRlZCBmb3IgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBVc2VyJ3MgY3VycmVudCBhY3Rpdml0aWVzICovXG4gIGFjdGl2aXRpZXM6IERpc2NvcmRBY3Rpdml0eVtdXG4gIC8qKiBVc2VyJ3MgcGxhdGZvcm0tZGVwZW5kZW50IHN0YXR1cyAqL1xuICBjbGllbnRfc3RhdHVzOiBEaXNjb3JkQ2xpZW50U3RhdHVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjd2VsY29tZS1zY3JlZW4tb2JqZWN0LXdlbGNvbWUtc2NyZWVuLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2VsY29tZVNjcmVlbiB7XG4gIC8qKiBUaGUgc2VydmVyIGRlc2NyaXB0aW9uIHNob3duIGluIHRoZSB3ZWxjb21lIHNjcmVlbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWxzIHNob3duIGluIHRoZSB3ZWxjb21lIHNjcmVlbiwgdXAgdG8gNSAqL1xuICB3ZWxjb21lX2NoYW5uZWxzOiBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWxbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI3dlbGNvbWUtc2NyZWVuLW9iamVjdC13ZWxjb21lLXNjcmVlbi1jaGFubmVsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWwge1xuICAvKiogVGhlIGRlc2NyaXB0aW9uIHNob3duIGZvciB0aGUgY2hhbm5lbCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCdzIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGVtb2ppIGlkLCBpZiB0aGUgZW1vamkgaXMgY3VzdG9tICovXG4gIGVtb2ppX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZW1vamkgbmFtZSBpZiBjdXN0b20sIHRoZSB1bmljb2RlIGNoYXJhY3RlciBpZiBzdGFuZGFyZCwgb3IgYG51bGxgIGlmIG5vIGVtb2ppIGlzIHNldCAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RhZ2UtaW5zdGFuY2UjYXV0by1jbG9zaW5nLXN0YWdlLWluc3RhbmNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RhZ2VJbnN0YW5jZSB7XG4gIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50IGZvciB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZXRhZGF0YSB7XG4gIC8qKiBXaGV0aGVyIHRoZSB0aHJlYWQgaXMgYXJjaGl2ZWQgKi9cbiAgYXJjaGl2ZWQ6IGJvb2xlYW5cbiAgLyoqIER1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5ICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbjogNjAgfCAxNDQwIHwgNDMyMCB8IDEwMDgwXG4gIC8qKiBXaGVuIGEgdGhyZWFkIGlzIGxvY2tlZCwgb25seSB1c2VycyB3aXRoIGBNQU5BR0VfVEhSRUFEU2AgY2FuIHVuYXJjaGl2ZSBpdCAqL1xuICBsb2NrZWQ6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgbm9uLW1vZGVyYXRvcnMgY2FuIGFkZCBvdGhlciBub24tbW9kZXJhdG9ycyB0byBhIHRocmVhZDsgb25seSBhdmFpbGFibGUgb24gcHJpdmF0ZSB0aHJlYWRzICovXG4gIGludml0YWJsZT86IGJvb2xlYW5cbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoZSB0aHJlYWQncyBhcmNoaXZlIHN0YXR1cyB3YXMgbGFzdCBjaGFuZ2VkLCB1c2VkIGZvciBjYWxjdWxhdGluZyByZWNlbnQgYWN0aXZpdHkgKi9cbiAgYXJjaGl2ZV90aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogVGltZXN0YW1wIHdoZW4gdGhlIHRocmVhZCB3YXMgY3JlYXRlZDsgb25seSBwb3B1bGF0ZWQgZm9yIHRocmVhZHMgY3JlYXRlZCBhZnRlciAyMDIyLTAxLTA5ICovXG4gIGNyZWF0ZV90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlciB7XG4gIC8qKiBBbnkgdXNlci10aHJlYWQgc2V0dGluZ3MsIGN1cnJlbnRseSBvbmx5IHVzZWQgZm9yIG5vdGlmaWNhdGlvbnMgKi9cbiAgZmxhZ3M6IG51bWJlclxuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgdGhlIGN1cnJlbnQgdXNlciBsYXN0IGpvaW5lZCB0aGUgdGhyZWFkICovXG4gIGpvaW5fdGltZXN0YW1wOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNhY3Rpdml0eS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5IHtcbiAgLyoqIFRoZSBhY3Rpdml0eSdzIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBBY3Rpdml0eSB0eXBlICovXG4gIHR5cGU6IEFjdGl2aXR5VHlwZXNcbiAgLyoqIFN0cmVhbSB1cmwsIGlzIHZhbGlkYXRlZCB3aGVuIHR5cGUgaXMgMSAqL1xuICB1cmw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBVbml4IHRpbWVzdGFtcCBvZiB3aGVuIHRoZSBhY3Rpdml0eSB3YXMgYWRkZWQgdG8gdGhlIHVzZXIncyBzZXNzaW9uICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlclxuICAvKiogV2hhdCB0aGUgcGxheWVyIGlzIGN1cnJlbnRseSBkb2luZyAqL1xuICBkZXRhaWxzPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIncyBjdXJyZW50IHBhcnR5IHN0YXR1cyAqL1xuICBzdGF0ZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBhY3Rpdml0eSBpcyBhbiBpbnN0YW5jZWQgZ2FtZSBzZXNzaW9uICovXG4gIGluc3RhbmNlPzogYm9vbGVhblxuICAvKiogQWN0aXZpdHkgZmxhZ3MgYE9SYGQgdG9nZXRoZXIsIGRlc2NyaWJlcyB3aGF0IHRoZSBwYXlsb2FkIGluY2x1ZGVzICovXG4gIGZsYWdzPzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWVzdGFtcHMgZm9yIHN0YXJ0IGFuZC9vciBlbmQgb2YgdGhlIGdhbWUgKi9cbiAgdGltZXN0YW1wcz86IERpc2NvcmRBY3Rpdml0eVRpbWVzdGFtcHNcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIGZvciB0aGUgZ2FtZSAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xuICAvKiogVGhlIGVtb2ppIHVzZWQgZm9yIGEgY3VzdG9tIHN0YXR1cyAqL1xuICBlbW9qaT86IERpc2NvcmRBY3Rpdml0eUVtb2ppIHwgbnVsbFxuICAvKiogSW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IHBhcnR5IG9mIHRoZSBwbGF5ZXIgKi9cbiAgcGFydHk/OiBEaXNjb3JkQWN0aXZpdHlQYXJ0eVxuICAvKiogSW1hZ2VzIGZvciB0aGUgcHJlc2VuY2UgYW5kIHRoZWlyIGhvdmVyIHRleHRzICovXG4gIGFzc2V0cz86IERpc2NvcmRBY3Rpdml0eUFzc2V0c1xuICAvKiogU2VjcmV0cyBmb3IgUmljaCBQcmVzZW5jZSBqb2luaW5nIGFuZCBzcGVjdGF0aW5nICovXG4gIHNlY3JldHM/OiBEaXNjb3JkQWN0aXZpdHlTZWNyZXRzXG4gIC8qKiBUaGUgY3VzdG9tIGJ1dHRvbnMgc2hvd24gaW4gdGhlIFJpY2ggUHJlc2VuY2UgKG1heCAyKSAqL1xuICBidXR0b25zPzogRGlzY29yZEFjdGl2aXR5QnV0dG9uW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2NsaWVudC1zdGF0dXMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDbGllbnRTdGF0dXMge1xuICAvKiogVGhlIHVzZXIncyBzdGF0dXMgc2V0IGZvciBhbiBhY3RpdmUgZGVza3RvcCAoV2luZG93cywgTGludXgsIE1hYykgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBkZXNrdG9wPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIHN0YXR1cyBzZXQgZm9yIGFuIGFjdGl2ZSBtb2JpbGUgKGlPUywgQW5kcm9pZCkgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBtb2JpbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3Mgc3RhdHVzIHNldCBmb3IgYW4gYWN0aXZlIHdlYiAoYnJvd3NlciwgYm90IGFjY291bnQpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgd2ViPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktdGltZXN0YW1wcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlUaW1lc3RhbXBzIHtcbiAgLyoqIFVuaXggdGltZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB3aGVuIHRoZSBhY3Rpdml0eSBzdGFydGVkICovXG4gIHN0YXJ0PzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWUgKGluIG1pbGxpc2Vjb25kcykgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgZW5kcyAqL1xuICBlbmQ/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlFbW9qaSB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGVtb2ppICovXG4gIGlkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktcGFydHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5UGFydHkge1xuICAvKiogVXNlZCB0byBzaG93IHRoZSBwYXJ0eSdzIGN1cnJlbnQgYW5kIG1heGltdW0gc2l6ZSAqL1xuICBzaXplPzogW2N1cnJlbnRTaXplOiBudW1iZXIsIG1heFNpemU6IG51bWJlcl1cbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFydHkgKi9cbiAgaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1hc3NldHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QXNzZXRzIHtcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgbGFyZ2UgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIGxhcmdlX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgc21hbGwgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIHNtYWxsX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBsYXJnZSBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgbGFyZ2VfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBzbWFsbCBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgc21hbGxfaW1hZ2U/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1zZWNyZXRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eVNlY3JldHMge1xuICAvKiogVGhlIHNlY3JldCBmb3Igam9pbmluZyBhIHBhcnR5ICovXG4gIGpvaW4/OiBzdHJpbmdcbiAgLyoqIFRoZSBzZWNyZXQgZm9yIHNwZWN0YXRpbmcgYSBnYW1lICovXG4gIHNwZWN0YXRlPzogc3RyaW5nXG4gIC8qKiBUaGUgc2VjcmV0IGZvciBhIHNwZWNpZmljIGluc3RhbmNlZCBtYXRjaCAqL1xuICBtYXRjaD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LWJ1dHRvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QnV0dG9uIHtcbiAgLyoqIFRoZSB0ZXh0IHNob3duIG9uIHRoZSBidXR0b24gKDEtMzIgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHVybCBvcGVuZWQgd2hlbiBjbGlja2luZyB0aGUgYnV0dG9uICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICB1cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRPdmVyd3JpdGUge1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbiAgLyoqIFJvbGUgb3IgdXNlciBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c/OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlcldpdGhVc2VyIGV4dGVuZHMgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBUaGUgdXNlciBvYmplY3QgZm9yIHRoaXMgbWVtYmVyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZSB7XG4gIC8qKiBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBndWlsZCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpblxuICAgKiBOb3RlOiBGb3IgTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cywgdGhlIG1lc3NhZ2Ugb2JqZWN0IG1heSBub3QgY29udGFpbiBhIGd1aWxkX2lkIG9yIG1lbWJlciBmaWVsZCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBzZW50IGRpcmVjdGx5IHRvIHRoZSByZWNlaXZpbmcgdXNlciBhbmQgdGhlIGJvdCB3aG8gc2VudCB0aGUgbWVzc2FnZSwgcmF0aGVyIHRoYW4gYmVpbmcgc2VudCB0aHJvdWdoIHRoZSBndWlsZCBsaWtlIG5vbi1lcGhlbWVyYWwgbWVzc2FnZXMuXG4gICAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKG5vdCBndWFyYW50ZWVkIHRvIGJlIGEgdmFsaWQgdXNlcilcbiAgICogTm90ZTogVGhlIGF1dGhvciBvYmplY3QgZm9sbG93cyB0aGUgc3RydWN0dXJlIG9mIHRoZSB1c2VyIG9iamVjdCwgYnV0IGlzIG9ubHkgYSB2YWxpZCB1c2VyIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHVzZXIgb3IgYm90IHVzZXIuIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoZSBhdXRob3Igb2JqZWN0IGNvcnJlc3BvbmRzIHRvIHRoZSB3ZWJob29rJ3MgaWQsIHVzZXJuYW1lLCBhbmQgYXZhdGFyLiBZb3UgY2FuIHRlbGwgaWYgYSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2sgYnkgY2hlY2tpbmcgZm9yIHRoZSB3ZWJob29rX2lkIG9uIHRoZSBtZXNzYWdlIG9iamVjdC5cbiAgICovXG4gIGF1dGhvcjogRGlzY29yZFVzZXJcbiAgLyoqXG4gICAqIE1lbWJlciBwcm9wZXJ0aWVzIGZvciB0aGlzIG1lc3NhZ2UncyBhdXRob3JcbiAgICogTm90ZTogVGhlIG1lbWJlciBvYmplY3QgZXhpc3RzIGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy4gVGhpcyBhbGxvd3MgYm90cyB0byBvYnRhaW4gcmVhbC10aW1lIG1lbWJlciBkYXRhIHdpdGhvdXQgcmVxdWlyaW5nIGJvdHMgdG8gc3RvcmUgbWVtYmVyIHN0YXRlIGluIG1lbW9yeS5cbiAgICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJcbiAgLyoqIENvbnRlbnRzIG9mIHRoZSBtZXNzYWdlICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyBtZXNzYWdlIHdhcyBzZW50ICovXG4gIHRpbWVzdGFtcDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgbWVzc2FnZSB3YXMgZWRpdGVkIChvciBudWxsIGlmIG5ldmVyKSAqL1xuICBlZGl0ZWRfdGltZXN0YW1wOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoaXMgd2FzIGEgVFRTIG1lc3NhZ2UgKi9cbiAgdHRzOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBtZW50aW9ucyBldmVyeW9uZSAqL1xuICBtZW50aW9uX2V2ZXJ5b25lOiBib29sZWFuXG4gIC8qKlxuICAgKiBVc2VycyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoZSBtZXNzYWdlXG4gICAqIE5vdGU6IFRoZSB1c2VyIG9iamVjdHMgaW4gdGhlIG1lbnRpb25zIGFycmF5IHdpbGwgb25seSBoYXZlIHRoZSBwYXJ0aWFsIG1lbWJlciBmaWVsZCBwcmVzZW50IGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy5cbiAgICovXG4gIG1lbnRpb25zOiBBcnJheTxEaXNjb3JkVXNlciAmIHsgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPiB9PlxuICAvKiogUm9sZXMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVudGlvbl9yb2xlcz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBDaGFubmVscyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoaXMgbWVzc2FnZVxuICAgKiBOb3RlOiBOb3QgYWxsIGNoYW5uZWwgbWVudGlvbnMgaW4gYSBtZXNzYWdlIHdpbGwgYXBwZWFyIGluIGBtZW50aW9uX2NoYW5uZWxzYC4gT25seSB0ZXh0dWFsIGNoYW5uZWxzIHRoYXQgYXJlIHZpc2libGUgdG8gZXZlcnlvbmUgaW4gYSBkaXNjb3ZlcmFibGUgZ3VpbGQgd2lsbCBldmVyIGJlIGluY2x1ZGVkLiBPbmx5IGNyb3NzcG9zdGVkIG1lc3NhZ2VzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpIGN1cnJlbnRseSBpbmNsdWRlIGBtZW50aW9uX2NoYW5uZWxzYCBhdCBhbGwuIElmIG5vIG1lbnRpb25zIGluIHRoZSBtZXNzYWdlIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLCB0aGlzIGZpZWxkIHdpbGwgbm90IGJlIHNlbnQuXG4gICAqL1xuICBtZW50aW9uX2NoYW5uZWxzPzogRGlzY29yZENoYW5uZWxNZW50aW9uW11cbiAgLyoqIEFueSBhdHRhY2hlZCBmaWxlcyAqL1xuICBhdHRhY2htZW50czogRGlzY29yZEF0dGFjaG1lbnRbXVxuICAvKiogQW55IGVtYmVkZGVkIGNvbnRlbnQgKi9cbiAgZW1iZWRzOiBEaXNjb3JkRW1iZWRbXVxuICAvKiogUmVhY3Rpb25zIHRvIHRoZSBtZXNzYWdlICovXG4gIHJlYWN0aW9ucz86IERpc2NvcmRSZWFjdGlvbltdXG4gIC8qKiBVc2VkIGZvciB2YWxpZGF0aW5nIGEgbWVzc2FnZSB3YXMgc2VudCAqL1xuICBub25jZT86IG51bWJlciB8IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgcGlubmVkICovXG4gIHBpbm5lZDogYm9vbGVhblxuICAvKiogSWYgdGhlIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGJ5IGEgd2ViaG9vaywgdGhpcyBpcyB0aGUgd2ViaG9vaydzIGlkICovXG4gIHdlYmhvb2tfaWQ/OiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgbWVzc2FnZSAqL1xuICB0eXBlOiBNZXNzYWdlVHlwZXNcbiAgLyoqIFNlbnQgd2l0aCBSaWNoIFByZXNlbmNlLXJlbGF0ZWQgY2hhdCBlbWJlZHMgKi9cbiAgYWN0aXZpdHk/OiBEaXNjb3JkTWVzc2FnZUFjdGl2aXR5XG4gIC8qKiBTZW50IHdpdGggUmljaCBQcmVzZW5jZS1yZWxhdGVkIGNoYXQgZW1iZWRzICovXG4gIGFwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBpZiB0aGUgbWVzc2FnZSBpcyBhbiBJbnRlcmFjdGlvbiBvciBhcHBsaWNhdGlvbi1vd25lZCB3ZWJob29rLCB0aGlzIGlzIHRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIERhdGEgc2hvd2luZyB0aGUgc291cmNlIG9mIGEgY3Jvc3Nwb3N0ZWQgY2hhbm5lbCBmb2xsb3cgYWRkLCBwaW4gb3IgcmVwbHkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IE9taXQ8RGlzY29yZE1lc3NhZ2VSZWZlcmVuY2UsICdmYWlsSWZOb3RFeGlzdHMnPlxuICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzPzogRGlzY29yZE1lc3NhZ2VGbGFnXG4gIC8qKlxuICAgKiBUaGUgc3RpY2tlcnMgc2VudCB3aXRoIHRoZSBtZXNzYWdlIChib3RzIGN1cnJlbnRseSBjYW4gb25seSByZWNlaXZlIG1lc3NhZ2VzIHdpdGggc3RpY2tlcnMsIG5vdCBzZW5kKVxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBtZXNzYWdlX3JlZmVyZW5jZWBcbiAgICogTm90ZTogVGhpcyBmaWVsZCBpcyBvbmx5IHJldHVybmVkIGZvciBtZXNzYWdlcyB3aXRoIGEgYHR5cGVgIG9mIGAxOWAgKFJFUExZKS4gSWYgdGhlIG1lc3NhZ2UgaXMgYSByZXBseSBidXQgdGhlIGByZWZlcmVuY2VkX21lc3NhZ2VgIGZpZWxkIGlzIG5vdCBwcmVzZW50LCB0aGUgYmFja2VuZCBkaWQgbm90IGF0dGVtcHQgdG8gZmV0Y2ggdGhlIG1lc3NhZ2UgdGhhdCB3YXMgYmVpbmcgcmVwbGllZCB0bywgc28gaXRzIHN0YXRlIGlzIHVua25vd24uIElmIHRoZSBmaWVsZCBleGlzdHMgYnV0IGlzIG51bGwsIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2Ugd2FzIGRlbGV0ZWQuXG4gICAqL1xuICByZWZlcmVuY2VkX21lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogc2VudCBpZiB0aGUgbWVzc2FnZSBpcyBzZW50IGFzIGEgcmVzdWx0IG9mIGFuIGludGVyYWN0aW9uICovXG4gIGludGVyYWN0aW9uX21ldGFkYXRhPzogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG4gIC8qKlxuICAgKiBTZW50IGlmIHRoZSBtZXNzYWdlIGlzIGEgcmVzcG9uc2UgdG8gYW4gSW50ZXJhY3Rpb25cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZCBpbiBmYXZvciBvZiB7QGxpbmsgaW50ZXJhY3Rpb25fbWV0YWRhdGF9XG4gICAqL1xuICBpbnRlcmFjdGlvbj86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25cbiAgLyoqIFRoZSB0aHJlYWQgdGhhdCB3YXMgc3RhcnRlZCBmcm9tIHRoaXMgbWVzc2FnZSwgaW5jbHVkZXMgdGhyZWFkIG1lbWJlciBvYmplY3QgKi9cbiAgdGhyZWFkPzogT21pdDxEaXNjb3JkQ2hhbm5lbCwgJ21lbWJlcic+ICYgeyBtZW1iZXI6IERpc2NvcmRUaHJlYWRNZW1iZXIgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogU2VudCBpZiB0aGUgbWVzc2FnZSBjb250YWlucyBzdGlja2VycyAqL1xuICBzdGlja2VyX2l0ZW1zPzogRGlzY29yZFN0aWNrZXJJdGVtW11cbiAgLyoqIEEgZ2VuZXJhbGx5IGluY3JlYXNpbmcgaW50ZWdlciAodGhlcmUgbWF5IGJlIGdhcHMgb3IgZHVwbGljYXRlcykgdGhhdCByZXByZXNlbnRzIHRoZSBhcHByb3hpbWF0ZSBwb3NpdGlvbiBvZiB0aGUgbWVzc2FnZSBpbiBhIHRocmVhZCwgaXQgY2FuIGJlIHVzZWQgdG8gZXN0aW1hdGUgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIGluIGEgdGhyZWFkIGluIGNvbXBhbnkgd2l0aCBgdG90YWxfbWVzc2FnZV9zZW50YCBvbiBwYXJlbnQgdGhyZWFkICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgcG9sbCBvYmplY3QgKi9cbiAgcG9sbD86IERpc2NvcmRQb2xsXG4gIC8qKiBUaGUgY2FsbCBhc3NvY2lhdGVkIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgY2FsbD86IERpc2NvcmRNZXNzYWdlQ2FsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1jYWxsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUNhbGwge1xuICAvKiogQXJyYXkgb2YgdXNlciBvYmplY3QgaWRzIHRoYXQgcGFydGljaXBhdGVkIGluIHRoZSBjYWxsICovXG4gIHBhcnRpY2lwYW50czogc3RyaW5nW11cbiAgLyoqIFRpbWUgd2hlbiBjYWxsIGVuZGVkICovXG4gIGVuZGVkX3RpbWVzdGFtcDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNjaGFubmVsLW1lbnRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsTWVudGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgY29udGFpbmluZyB0aGUgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU6IG51bWJlclxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNyZWFjdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uIHtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiB0aW1lcyB0aGlzIGVtb2ppIGhhcyBiZWVuIHVzZWQgdG8gcmVhY3QgKGluY2x1ZGluZyBzdXBlciByZWFjdHMpICovXG4gIGNvdW50OiBudW1iZXJcbiAgLyoqXHRSZWFjdGlvbiBjb3VudCBkZXRhaWxzIG9iamVjdCAqL1xuICBjb3VudF9kZXRhaWxzOiBEaXNjb3JkUmVhY3Rpb25Db3VudERldGFpbHNcbiAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciByZWFjdGVkIHVzaW5nIHRoaXMgZW1vamkgKi9cbiAgbWU6IGJvb2xlYW5cbiAgLyoqXHRXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgc3VwZXItcmVhY3RlZCB1c2luZyB0aGlzIGVtb2ppICovXG4gIG1lX2J1cnN0OiBib29sZWFuXG4gIC8qKiBFbW9qaSBpbmZvcm1hdGlvbiAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBIRVggY29sb3JzIHVzZWQgZm9yIHN1cGVyIHJlYWN0aW9uICovXG4gIGJ1cnN0X2NvbG9yczogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI3JlYWN0aW9uLWNvdW50LWRldGFpbHMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSZWFjdGlvbkNvdW50RGV0YWlscyB7XG4gIC8qKiBDb3VudCBvZiBzdXBlciByZWFjdGlvbnMgKi9cbiAgYnVyc3Q6IG51bWJlclxuICAvKipcdENvdW50IG9mIG5vcm1hbCByZWFjdGlvbnMgKi9cbiAgbm9ybWFsOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2Utb2JqZWN0LW1lc3NhZ2UtYWN0aXZpdHktc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlQWN0aXZpdHkge1xuICAvKiogVHlwZSBvZiBtZXNzYWdlIGFjdGl2aXR5ICovXG4gIHR5cGU6IE1lc3NhZ2VBY3Rpdml0eVR5cGVzXG4gIC8qKiBgcGFydHlfaWRgIGZyb20gYSBSaWNoIFByZXNlbmNlIGV2ZW50ICovXG4gIHBhcnR5X2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdC1tZXNzYWdlLXJlZmVyZW5jZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VSZWZlcmVuY2Uge1xuICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKipcbiAgICogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBjaGFubmVsXG4gICAqIE5vdGU6IGBjaGFubmVsX2lkYCBpcyBvcHRpb25hbCB3aGVuIGNyZWF0aW5nIGEgcmVwbHksIGJ1dCB3aWxsIGFsd2F5cyBiZSBwcmVzZW50IHdoZW4gcmVjZWl2aW5nIGFuIGV2ZW50L3Jlc3BvbnNlIHRoYXQgaW5jbHVkZXMgdGhpcyBkYXRhIG1vZGVsLlxuICAgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogV2hlbiBzZW5kaW5nLCB3aGV0aGVyIHRvIGVycm9yIGlmIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgZG9lc24ndCBleGlzdCBpbnN0ZWFkIG9mIHNlbmRpbmcgYXMgYSBub3JtYWwgKG5vbi1yZXBseSkgbWVzc2FnZSwgZGVmYXVsdCB0cnVlICovXG4gIGZhaWxfaWZfbm90X2V4aXN0czogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGwge1xuICAvKiogVGhlIHF1ZXN0aW9uIG9mIHRoZSBwb2xsLiBPbmx5IGB0ZXh0YCBpcyBzdXBwb3J0ZWQuICovXG4gIHF1ZXN0aW9uOiBEaXNjb3JkUG9sbE1lZGlhXG4gIC8qKiBFYWNoIG9mIHRoZSBhbnN3ZXJzIGF2YWlsYWJsZSBpbiB0aGUgcG9sbC4gVGhlcmUgaXMgYSBtYXhpbXVtIG9mIDEwIGFuc3dlcnMgcGVyIHBvbGwuICovXG4gIGFuc3dlcnM6IERpc2NvcmRQb2xsQW5zd2VyW11cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHdoZW4gdGhlIHBvbGwgZW5kcy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogYGV4cGlyeWAgaXMgbWFya2VkIGFzIG51bGxhYmxlIHRvIHN1cHBvcnQgbm9uLWV4cGlyaW5nIHBvbGxzIGluIHRoZSBmdXR1cmUsIGJ1dCBhbGwgcG9sbHMgaGF2ZSBhbiBleHBpcnkgY3VycmVudGx5LlxuICAgKi9cbiAgZXhwaXJ5OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIGEgdXNlciBjYW4gc2VsZWN0IG11bHRpcGxlIGFuc3dlcnMgKi9cbiAgYWxsb3dfbXVsdGlzZWxlY3Q6IGJvb2xlYW5cbiAgLyoqIFRoZSBsYXlvdXQgdHlwZSBvZiB0aGUgcG9sbCAqL1xuICBsYXlvdXRfdHlwZTogRGlzY29yZFBvbGxMYXlvdXRUeXBlXG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0cyBvZiB0aGUgcG9sbFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIHdpbGwgbm90IGJlIHNlbnQgYnkgZGlzY29yZCB1bmRlciBzcGVjaWZpYyBjb25kaXRpb25zIHdoZXJlIHRoZXkgZG9uJ3QgZmV0Y2ggdGhlbSBvbiB0aGVpciBiYWNrZW5kLiBXaGVuIHRoaXMgdmFsdWUgaXMgbWlzc2luZyBpdCBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgXCJVbmtub3duIHJlc3VsdHNcIiBhbmQgbm90IGFzIFwiTm8gcmVzdWx0c1wiXG4gICAqIFRoZSByZXN1bHRzIG1heSBub3QgYmUgdG90YWxseSBhY2N1cmF0ZSB3aGlsZSB0aGUgcG9sbCBoYXMgbm90IGVuZGVkLiBXaGVuIGl0IGVuZHMgZGlzY29yZCB3aWxsIHJlLWNhbGN1bGF0ZSBhbGwgdGhlIHJlc3VsdHMgYW5kIHNldCB7QGxpbmsgRGlzY29yZFBvbGxSZXN1bHQuaXNfZmluYWxpemVkfSB0byB0cnVlXG4gICAqL1xuICByZXN1bHRzPzogRGlzY29yZFBvbGxSZXN1bHRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI2xheW91dC10eXBlICovXG5leHBvcnQgZW51bSBEaXNjb3JkUG9sbExheW91dFR5cGUge1xuICAvKiogVGhlIGRlZmF1bHQgbGF5b3V0ICovXG4gIERlZmF1bHQgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1tZWRpYS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxNZWRpYSB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCBvZiB0aGUgZmllbGRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogYHRleHRgIHNob3VsZCBhbHdheXMgYmUgbm9uLW51bGwgZm9yIGJvdGggcXVlc3Rpb25zIGFuZCBhbnN3ZXJzLCBidXQgdGhpcyBpcyBzdWJqZWN0IHRvIGNoYW5nZXMuXG4gICAqIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBgdGV4dGAgaXMgMzAwIGZvciB0aGUgcXVlc3Rpb24sIGFuZCA1NSBmb3IgYW55IGFuc3dlci5cbiAgICovXG4gIHRleHQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBlbW9qaSBvZiB0aGUgZmllbGRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBhIHBvbGwgYW5zd2VyIHdpdGggYW4gZW1vamksIG9uZSBvbmx5IG5lZWRzIHRvIHNlbmQgZWl0aGVyIHRoZSBgaWRgIChjdXN0b20gZW1vamkpIG9yIGBuYW1lYCAoZGVmYXVsdCBlbW9qaSkgYXMgdGhlIG9ubHkgZmllbGQuXG4gICAqL1xuICBlbW9qaT86IFBhcnRpYWw8RGlzY29yZEVtb2ppPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1hbnN3ZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsQW5zd2VyIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgYW5zd2VyXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaWQgbGFiZWxzIGVhY2ggYW5zd2VyLiBJdCBzdGFydHMgYXQgMSBhbmQgZ29lcyB1cCBzZXF1ZW50aWFsbHkuIERpc2NvcmQgcmVjb21tZW5kIGFnYWluc3QgZGVwZW5kaW5nIG9uIHRoaXMgdmFsdWUgYXMgaXMgYSBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG4gICAqL1xuICBhbnN3ZXJfaWQ6IG51bWJlclxuICAvKiogVGhlIGRhdGEgb2YgdGhlIGFuc3dlciAqL1xuICBwb2xsX21lZGlhOiBEaXNjb3JkUG9sbE1lZGlhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxBbnN3ZXJDb3VudCB7XG4gIC8qKiBUaGUge0BsaW5rIERpc2NvcmRQb2xsQW5zd2VyLmFuc3dlcl9pZCB8IGFuc3dlcl9pZH0gKi9cbiAgaWQ6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiB2b3RlcyBmb3IgdGhpcyBhbnN3ZXIgKi9cbiAgY291bnQ6IG51bWJlclxuICAvKiogV2hldGhlciB0aGUgY3VycmVudCB1c2VyIHZvdGVkIGZvciB0aGlzIGFuc3dlciAqL1xuICBtZV92b3RlZDogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjcG9sbC1yZXN1bHRzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbFJlc3VsdCB7XG4gIC8qKiBXaGV0aGVyIHRoZSB2b3RlcyBoYXZlIGJlZW4gcHJlY2lzZWx5IGNvdW50ZWQgKi9cbiAgaXNfZmluYWxpemVkOiBib29sZWFuXG4gIC8qKiBUaGUgY291bnRzIGZvciBlYWNoIGFuc3dlciAqL1xuICBhbnN3ZXJfY291bnRzOiBEaXNjb3JkUG9sbEFuc3dlckNvdW50W11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI2dldC1hbnN3ZXItdm90ZXJzLXJlc3BvbnNlLWJvZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdldEFuc3dlclZvdGVzUmVzcG9uc2Uge1xuICAvKiogVXNlcnMgd2hvIHZvdGVkIGZvciB0aGlzIGFuc3dlciAqL1xuICB1c2VyczogRGlzY29yZFVzZXJbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXktZXZlbnRzI21lc3NhZ2UtcG9sbC12b3RlLWFkZCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbFZvdGVBZGQge1xuICAvKiogSUQgb2YgdGhlIHVzZXIuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgY2hhbm5lbC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBtZXNzYWdlLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgYW5zd2VyLiAqL1xuICBhbnN3ZXJfaWQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXktZXZlbnRzI21lc3NhZ2UtcG9sbC12b3RlLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbFZvdGVSZW1vdmUge1xuICAvKiogSUQgb2YgdGhlIHVzZXIuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgY2hhbm5lbC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBtZXNzYWdlLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgYW5zd2VyLiAqL1xuICBhbnN3ZXJfaWQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0aWNrZXIge1xuICAvKiogW0lkIG9mIHRoZSBzdGlja2VyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIHBhY2sgdGhlIHN0aWNrZXIgaXMgZnJvbSAqL1xuICBwYWNrX2lkPzogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSBzdGlja2VyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIHN0aWNrZXIgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogYSB1bmljb2RlIGVtb2ppIHJlcHJlc2VudGluZyB0aGUgc3RpY2tlcidzIGV4cHJlc3Npb24gKi9cbiAgdGFnczogc3RyaW5nXG4gIC8qKiBbdHlwZSBvZiBzdGlja2VyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLXR5cGVzKSAqL1xuICB0eXBlOiBTdGlja2VyVHlwZXNcbiAgLyoqIFtUeXBlIG9mIHN0aWNrZXIgZm9ybWF0XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLWZvcm1hdC10eXBlcykgKi9cbiAgZm9ybWF0X3R5cGU6IFN0aWNrZXJGb3JtYXRUeXBlc1xuICAvKiogIFdoZXRoZXIgb3Igbm90IHRoZSBzdGlja2VyIGlzIGF2YWlsYWJsZSAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG4gIC8qKiBJZCBvZiB0aGUgZ3VpbGQgdGhhdCBvd25zIHRoaXMgc3RpY2tlciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgdGhhdCB1cGxvYWRlZCB0aGUgc3RpY2tlciAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEEgc3RpY2tlcidzIHNvcnQgb3JkZXIgd2l0aGluIGEgcGFjayAqL1xuICBzb3J0X3ZhbHVlPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI21lc3NhZ2UtaW50ZXJhY3Rpb24tb2JqZWN0LW1lc3NhZ2UtaW50ZXJhY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb24ge1xuICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvbkNvbW1hbmQgaW5jbHVkaW5nIHRoZSBuYW1lIG9mIHRoZSBzdWJjb21tYW5kL3N1YmNvbW1hbmQgZ3JvdXAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gaW52b2tlZCB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIGludm9rZWQgdGhlIGludGVyYWN0aW9uIGluIHRoZSBndWlsZCAqL1xuICBtZW1iZXI/OiBQYXJ0aWFsPERpc2NvcmRNZW1iZXI+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLWludGVyYWN0aW9uLW1ldGFkYXRhLW9iamVjdC1tZXNzYWdlLWludGVyYWN0aW9uLW1ldGFkYXRhLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEge1xuICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIFVzZXIgd2hvIHRyaWdnZXJlZCB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIElEcyBmb3IgaW5zdGFsbGF0aW9uIGNvbnRleHQocykgcmVsYXRlZCB0byBhbiBpbnRlcmFjdGlvbiAqL1xuICBhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnM6IFBhcnRpYWw8UmVjb3JkPERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgc3RyaW5nPj5cbiAgLyoqIElEIG9mIHRoZSBvcmlnaW5hbCByZXNwb25zZSBtZXNzYWdlLCBwcmVzZW50IG9ubHkgb24gZm9sbG93LXVwIG1lc3NhZ2VzICovXG4gIG9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBtZXNzYWdlIHRoYXQgY29udGFpbmVkIGludGVyYWN0aXZlIGNvbXBvbmVudCwgcHJlc2VudCBvbmx5IG9uIG1lc3NhZ2VzIGNyZWF0ZWQgZnJvbSBjb21wb25lbnQgaW50ZXJhY3Rpb25zICovXG4gIGludGVyYWN0ZWRfbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKiogTWV0YWRhdGEgZm9yIHRoZSBpbnRlcmFjdGlvbiB0aGF0IHdhcyB1c2VkIHRvIG9wZW4gdGhlIG1vZGFsLCBwcmVzZW50IG9ubHkgb24gbW9kYWwgc3VibWl0IGludGVyYWN0aW9ucyAqL1xuICB0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhPzogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50cyA9IERpc2NvcmRBY3Rpb25Sb3dbXVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNhY3Rpb25yb3cgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGlvblJvdyB7XG4gIC8qKiBBY3Rpb24gcm93cyBhcmUgYSBncm91cCBvZiBidXR0b25zLiAqL1xuICB0eXBlOiAxXG4gIC8qKiBUaGUgY29tcG9uZW50cyBpbiB0aGlzIHJvdyAqL1xuICBjb21wb25lbnRzOiBBcnJheTxEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCB8IERpc2NvcmRCdXR0b25Db21wb25lbnQgfCBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50PlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNzZWxlY3QtbWVudS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQge1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVxuICAvKiogQSBjdXN0b20gaWRlbnRpZmllciBmb3IgdGhpcyBjb21wb25lbnQuIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIGN1c3RvbV9pZDogc3RyaW5nXG4gIC8qKiBBIGN1c3RvbSBwbGFjZWhvbGRlciB0ZXh0IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuIE1heGltdW0gMTUwIGNoYXJhY3RlcnMuICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIC8qKiBUaGUgbWluaW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBtdXN0IGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIEJldHdlZW4gMS0yNS4gKi9cbiAgbWluX3ZhbHVlcz86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiBEZWZhdWx0IDEuIEJldHdlZW4gMS0yNS4gKi9cbiAgbWF4X3ZhbHVlcz86IG51bWJlclxuICAvKiogTGlzdCBvZiBjaGFubmVsIHR5cGVzIHRvIGluY2x1ZGUgaW4gYSBjaGFubmVsIHNlbGVjdCBtZW51IG9wdGlvbnMgbGlzdCAqL1xuICBjaGFubmVsVHlwZXM/OiBDaGFubmVsVHlwZXNbXVxuICAvKiogVGhlIGNob2ljZXMhIE1heGltdW0gb2YgMjUgaXRlbXMuICovXG4gIG9wdGlvbnM6IERpc2NvcmRTZWxlY3RPcHRpb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RPcHRpb24ge1xuICAvKiogVGhlIHVzZXItZmFjaW5nIG5hbWUgb2YgdGhlIG9wdGlvbi4gTWF4aW11bSAyNSBjaGFyYWN0ZXJzLiAqL1xuICBsYWJlbDogc3RyaW5nXG4gIC8qKiBUaGUgZGV2LWRlZmluZWQgdmFsdWUgb2YgdGhlIG9wdGlvbi4gTWF4aW11bSAxMDAgY2hhcmFjdGVycy4gKi9cbiAgdmFsdWU6IHN0cmluZ1xuICAvKiogQW4gYWRkaXRpb25hbCBkZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uLiBNYXhpbXVtIDUwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQsIG5hbWUsIGFuZCBhbmltYXRlZCBwcm9wZXJ0aWVzIG9mIGFuIGVtb2ppLiAqL1xuICBlbW9qaT86IHtcbiAgICAvKiogRW1vamkgaWQgKi9cbiAgICBpZD86IHN0cmluZ1xuICAgIC8qKiBFbW9qaSBuYW1lICovXG4gICAgbmFtZT86IHN0cmluZ1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgICBhbmltYXRlZD86IGJvb2xlYW5cbiAgfVxuICAvKiogV2lsbCByZW5kZXIgdGhpcyBvcHRpb24gYXMgYWxyZWFkeS1zZWxlY3RlZCBieSBkZWZhdWx0LiAqL1xuICBkZWZhdWx0PzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNzZWxlY3QtbWVudS1vYmplY3Qtc2VsZWN0LWRlZmF1bHQtdmFsdWUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RNZW51RGVmYXVsdFZhbHVlIHtcbiAgLyoqIElEIG9mIGEgdXNlciwgcm9sZSwgb3IgY2hhbm5lbCAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBUeXBlIG9mIHZhbHVlIHRoYXQgaWQgcmVwcmVzZW50cy4gKi9cbiAgdHlwZTogJ3VzZXInIHwgJ3JvbGUnIHwgJ2NoYW5uZWwnXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvbWVzc2FnZS1jb21wb25lbnRzI2J1dHRvbnMtYnV0dG9uLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHtcbiAgLyoqIEFsbCBidXR0b24gY29tcG9uZW50cyBoYXZlIHR5cGUgMiAqL1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uXG4gIC8qKiBmb3Igd2hhdCB0aGUgYnV0dG9uIHNheXMgKG1heCA4MCBjaGFyYWN0ZXJzKSAqL1xuICBsYWJlbD86IHN0cmluZ1xuICAvKiogYSBkZXYtZGVmaW5lZCB1bmlxdWUgc3RyaW5nIHNlbnQgb24gY2xpY2sgKG1heCAxMDAgY2hhcmFjdGVycykuIHR5cGUgNSBMaW5rIGJ1dHRvbnMgY2FuIG5vdCBoYXZlIGEgY3VzdG9tX2lkICovXG4gIGN1c3RvbV9pZD86IHN0cmluZ1xuICAvKiogRm9yIGRpZmZlcmVudCBzdHlsZXMvY29sb3JzIG9mIHRoZSBidXR0b25zICovXG4gIHN0eWxlOiBCdXR0b25TdHlsZXNcbiAgLyoqIEVtb2ppIG9iamVjdCB0aGF0IGluY2x1ZGVzIGZpZWxkcyBvZiBuYW1lLCBpZCwgYW5kIGFuaW1hdGVkIHN1cHBvcnRpbmcgdW5pY29kZSBhbmQgY3VzdG9tIGVtb2ppcy4gKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqIG9wdGlvbmFsIHVybCBmb3IgbGluay1zdHlsZSBidXR0b25zIHRoYXQgY2FuIG5hdmlnYXRlIGEgdXNlciB0byB0aGUgd2ViLiBPbmx5IHR5cGUgNSBMaW5rIGJ1dHRvbnMgY2FuIGhhdmUgYSB1cmwgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGJ1dHRvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjdGV4dC1pbnB1dHMtdGV4dC1pbnB1dC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZElucHV0VGV4dENvbXBvbmVudCB7XG4gIC8qKiBJbnB1dFRleHQgQ29tcG9uZW50IGlzIG9mIHR5cGUgMyAqL1xuICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuSW5wdXRUZXh0XG4gIC8qKiBUaGUgc3R5bGUgb2YgdGhlIElucHV0VGV4dCAqL1xuICBzdHlsZTogVGV4dFN0eWxlc1xuICAvKiogd2hldGhlciB0aGlzIGNvbXBvbmVudCBpcyByZXF1aXJlZCB0byBiZSBmaWxsZWQsIGRlZmF1bHQgdHJ1ZSAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgLyoqIFRoZSBjdXN0b21JZCBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIGN1c3RvbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbGFiZWwgb2YgdGhlIElucHV0VGV4dCAobWF4IDQ1IGNoYXJhY3RlcnMpICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqIFRoZSBwbGFjZWhvbGRlciBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIC8qKiBUaGUgbWluaW11bSBsZW5ndGggb2YgdGhlIHRleHQgdGhlIHVzZXIgaGFzIHRvIHByb3ZpZGUgKi9cbiAgbWluX2xlbmd0aD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSB0ZXh0IHRoZSB1c2VyIGhhcyB0byBwcm92aWRlICovXG4gIG1heF9sZW5ndGg/OiBudW1iZXJcbiAgLyoqIFByZS1maWxsZWQgdmFsdWUgZm9yIGlucHV0IHRleHQuICovXG4gIHZhbHVlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLWl0ZW0tb2JqZWN0LXN0aWNrZXItaXRlbS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN0aWNrZXJJdGVtIHtcbiAgLyoqIElkIG9mIHRoZSBzdGlja2VyICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHN0aWNrZXIgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBbVHlwZSBvZiBzdGlja2VyIGZvcm1hdF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1mb3JtYXQtdHlwZXMpICovXG4gIGZvcm1hdF90eXBlOiBTdGlja2VyRm9ybWF0VHlwZXNcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItcGFjay1vYmplY3Qtc3RpY2tlci1wYWNrLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RpY2tlclBhY2sge1xuICAvKiogaWQgb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgc3RpY2tlcnMgaW4gdGhlIHBhY2sgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbiAgLyoqIG5hbWUgb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBwYWNrJ3MgU0tVICovXG4gIHNrdV9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiBhIHN0aWNrZXIgaW4gdGhlIHBhY2sgd2hpY2ggaXMgc2hvd24gYXMgdGhlIHBhY2sncyBpY29uICovXG4gIGNvdmVyX3N0aWNrZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIGRlc2NyaXB0aW9uIG9mIHRoZSBzdGlja2VyIHBhY2sgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHN0aWNrZXIgcGFjaydzIFtiYW5uZXIgaW1hZ2VdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSNpbWFnZS1mb3JtYXR0aW5nKSAqL1xuICBiYW5uZXJfYXNzZXRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb24ge1xuICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGlzIGludGVyYWN0aW9uIGlzIGZvciAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgZ3VpbGQgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBjaGFubmVsOiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxuICAvKipcbiAgICogVGhlIElEIG9mIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBiZWdpbiB1c2luZyB0aGlzIGNoYW5uZWwgZmllbGQgdG8gaWRlbnRpZnkgdGhlIHNvdXJjZSBjaGFubmVsIG9mIHRoZSBpbnRlcmFjdGlvbiBhcyB0aGV5IG1heSBkZXByZWNhdGUgdGhlIGV4aXN0aW5nIGNoYW5uZWxfaWQgZmllbGQgaW4gdGhlIGZ1dHVyZS5cbiAgICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmdcbiAgLyoqIEd1aWxkIG1lbWJlciBkYXRhIGZvciB0aGUgaW52b2tpbmcgdXNlciwgaW5jbHVkaW5nIHBlcm1pc3Npb25zICovXG4gIG1lbWJlcj86IERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlclxuICAvKiogVXNlciBvYmplY3QgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpZiBpbnZva2VkIGluIGEgRE0gKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBBIGNvbnRpbnVhdGlvbiB0b2tlbiBmb3IgcmVzcG9uZGluZyB0byB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogUmVhZC1vbmx5IHByb3BlcnR5LCBhbHdheXMgYDFgICovXG4gIHZlcnNpb246IDFcbiAgLyoqIEZvciB0aGUgbWVzc2FnZSB0aGUgYnV0dG9uIHdhcyBhdHRhY2hlZCB0byAqL1xuICBtZXNzYWdlPzogRGlzY29yZE1lc3NhZ2VcbiAgLyoqIHRoZSBjb21tYW5kIGRhdGEgcGF5bG9hZCAqL1xuICBkYXRhPzogRGlzY29yZEludGVyYWN0aW9uRGF0YVxuICAvKiogVGhlIHNlbGVjdGVkIGxhbmd1YWdlIG9mIHRoZSBpbnZva2luZyB1c2VyICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkJ3MgcHJlZmVycmVkIGxvY2FsZSwgaWYgaW52b2tlZCBpbiBhIGd1aWxkICovXG4gIGd1aWxkX2xvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciBhIGJvdCBvciBhcHAgaW4gdGhlIGNvbnRleHQgb2YgYSBzcGVjaWZpYyBpbnRlcmFjdGlvbiAoaW5jbHVkaW5nIGNoYW5uZWwgb3ZlcndyaXRlcykgKi9cbiAgYXBwX3Blcm1pc3Npb25zOiBzdHJpbmdcbiAgLyoqIEZvciBtb25ldGl6ZWQgYXBwcywgYW55IGVudGl0bGVtZW50cyBmb3IgdGhlIGludm9raW5nIHVzZXIsIHJlcHJlc2VudGluZyBhY2Nlc3MgdG8gcHJlbWl1bSBTS1VzICovXG4gIGVudGl0bGVtZW50czogRGlzY29yZEVudGl0bGVtZW50W11cbiAgLyoqIE1hcHBpbmcgb2YgaW5zdGFsbGF0aW9uIGNvbnRleHRzIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBhdXRob3JpemVkIGZvciB0byByZWxhdGVkIHVzZXIgb3IgZ3VpbGQgSURzLiAqL1xuICBhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnM6IFBhcnRpYWw8UmVjb3JkPERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgc3RyaW5nPj5cbiAgLyoqIENvbnRleHQgd2hlcmUgdGhlIGludGVyYWN0aW9uIHdhcyB0cmlnZ2VyZWQgZnJvbSAqL1xuICBjb250ZXh0PzogRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1tZW1iZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlciBleHRlbmRzIERpc2NvcmRNZW1iZXJXaXRoVXNlciB7XG4gIC8qKiBUb3RhbCBwZXJtaXNzaW9ucyBvZiB0aGUgbWVtYmVyIGluIHRoZSBjaGFubmVsLCBpbmNsdWRpbmcgb3ZlcndyaXRlcywgcmV0dXJuZWQgd2hlbiBpbiB0aGUgaW50ZXJhY3Rpb24gb2JqZWN0ICovXG4gIHBlcm1pc3Npb25zOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGNvbXBvbmVudCAqL1xuICBjb21wb25lbnRfdHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlc1xuICAvKiogVGhlIGN1c3RvbSBpZCBwcm92aWRlZCBmb3IgdGhpcyBjb21wb25lbnQuICovXG4gIGN1c3RvbV9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNvbXBvbmVudHMgaWYgaXRzIGEgTW9kYWwgU3VibWl0IGludGVyYWN0aW9uLiAqL1xuICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzXG4gIC8qKiBUaGUgdmFsdWVzIGNob3NlbiBieSB0aGUgdXNlci4gKi9cbiAgdmFsdWVzPzogc3RyaW5nW11cbiAgLyoqIFRoZSBJZCBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBpbnZva2VkIGNvbW1hbmQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgdHlwZSBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gIC8qKiBDb252ZXJ0ZWQgdXNlcnMgKyByb2xlcyArIGNoYW5uZWxzICsgYXR0YWNobWVudHMgKi9cbiAgcmVzb2x2ZWQ/OiB7XG4gICAgLyoqIFRoZSBJZHMgYW5kIE1lc3NhZ2Ugb2JqZWN0cyAqL1xuICAgIG1lc3NhZ2VzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZE1lc3NhZ2U+XG4gICAgLyoqIFRoZSBJZHMgYW5kIFVzZXIgb2JqZWN0cyAqL1xuICAgIHVzZXJzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZFVzZXI+XG4gICAgLyoqIFRoZSBJZHMgYW5kIHBhcnRpYWwgTWVtYmVyIG9iamVjdHMgKi9cbiAgICBtZW1iZXJzPzogUmVjb3JkPHN0cmluZywgT21pdDxEaXNjb3JkSW50ZXJhY3Rpb25NZW1iZXIsICd1c2VyJyB8ICdkZWFmJyB8ICdtdXRlJz4+XG4gICAgLyoqIFRoZSBJZHMgYW5kIFJvbGUgb2JqZWN0cyAqL1xuICAgIHJvbGVzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZFJvbGU+XG4gICAgLyoqIFRoZSBJZHMgYW5kIHBhcnRpYWwgQ2hhbm5lbCBvYmplY3RzICovXG4gICAgY2hhbm5lbHM/OiBSZWNvcmQ8c3RyaW5nLCBQaWNrPERpc2NvcmRDaGFubmVsLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnIHwgJ3Blcm1pc3Npb25zJz4+XG4gICAgLyoqIFRoZSBpZHMgYW5kIGF0dGFjaG1lbnQgb2JqZWN0cyAqL1xuICAgIGF0dGFjaG1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkQXR0YWNobWVudD5cbiAgfVxuICAvKiogVGhlIHBhcmFtcyArIHZhbHVlcyBmcm9tIHRoZSB1c2VyICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgLyoqIFRoZSB0YXJnZXQgaWQgaWYgdGhpcyBpcyBhIGNvbnRleHQgbWVudSBjb21tYW5kLiAqL1xuICB0YXJnZXRfaWQ/OiBzdHJpbmdcbiAgLyoqIHRoZSBpZCBvZiB0aGUgZ3VpbGQgdGhlIGNvbW1hbmQgaXMgcmVnaXN0ZXJlZCB0byAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICAvKiogTmFtZSBvZiB0aGUgcGFyYW1ldGVyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVmFsdWUgb2YgYXBwbGljYXRpb24gY29tbWFuZCBvcHRpb24gdHlwZSAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlc1xuICAvKiogVmFsdWUgb2YgdGhlIG9wdGlvbiByZXN1bHRpbmcgZnJvbSB1c2VyIGlucHV0ICovXG4gIHZhbHVlPzogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlclxuICAvKiogUHJlc2VudCBpZiB0aGlzIG9wdGlvbiBpcyBhIGdyb3VwIG9yIHN1YmNvbW1hbmQgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICAvKiogYHRydWVgIGlmIHRoaXMgb3B0aW9uIGlzIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBvcHRpb24gZm9yIGF1dG9jb21wbGV0ZSAqL1xuICBmb2N1c2VkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMaXN0QWN0aXZlVGhyZWFkcyB7XG4gIC8qKiBUaGUgYWN0aXZlIHRocmVhZHMgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogQSB0aHJlYWQgbWVtYmVyIG9iamVjdCBmb3IgZWFjaCByZXR1cm5lZCB0aHJlYWQgdGhlIGN1cnJlbnQgdXNlciBoYXMgam9pbmVkICovXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMaXN0QXJjaGl2ZWRUaHJlYWRzIGV4dGVuZHMgRGlzY29yZExpc3RBY3RpdmVUaHJlYWRzIHtcbiAgLyoqIFdoZXRoZXIgdGhlcmUgYXJlIHBvdGVudGlhbGx5IGFkZGl0aW9uYWwgdGhyZWFkcyB0aGF0IGNvdWxkIGJlIHJldHVybmVkIG9uIGEgc3Vic2VxdWVudCBjYWxsICovXG4gIGhhc19tb3JlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZExpc3RTeW5jIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHBhcmVudCBjaGFubmVsIGlkcyB3aG9zZSB0aHJlYWRzIGFyZSBiZWluZyBzeW5jZWQuIElmIG9taXR0ZWQsIHRoZW4gdGhyZWFkcyB3ZXJlIHN5bmNlZCBmb3IgdGhlIGVudGlyZSBndWlsZC4gVGhpcyBhcnJheSBtYXkgY29udGFpbiBjaGFubmVsSWRzIHRoYXQgaGF2ZSBubyBhY3RpdmUgdGhyZWFkcyBhcyB3ZWxsLCBzbyB5b3Uga25vdyB0byBjbGVhciB0aGF0IGRhdGEgKi9cbiAgY2hhbm5lbF9pZHM/OiBzdHJpbmdbXVxuICAvKiogQWxsIGFjdGl2ZSB0aHJlYWRzIGluIHRoZSBnaXZlbiBjaGFubmVscyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgY2FuIGFjY2VzcyAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBbGwgdGhyZWFkIG1lbWJlciBvYmplY3RzIGZyb20gdGhlIHN5bmNlZCB0aHJlYWRzIGZvciB0aGUgY3VycmVudCB1c2VyLCBpbmRpY2F0aW5nIHdoaWNoIHRocmVhZHMgdGhlIGN1cnJlbnQgdXNlciBoYXMgYmVlbiBhZGRlZCB0byAqL1xuICBtZW1iZXJzOiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXVkaXRMb2cge1xuICAvKiogTGlzdCBvZiB3ZWJob29rcyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIHdlYmhvb2tzOiBEaXNjb3JkV2ViaG9va1tdXG4gIC8qKiBMaXN0IG9mIHVzZXJzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgdXNlcnM6IERpc2NvcmRVc2VyW11cbiAgLyoqIExpc3Qgb2YgYXVkaXQgbG9nIGVudHJpZXMsIHNvcnRlZCBmcm9tIG1vc3QgdG8gbGVhc3QgcmVjZW50ICovXG4gIGF1ZGl0X2xvZ19lbnRyaWVzOiBEaXNjb3JkQXVkaXRMb2dFbnRyeVtdXG4gIC8qKiBMaXN0IG9mIHBhcnRpYWwgaW50ZWdyYXRpb24gb2JqZWN0cyAqL1xuICBpbnRlZ3JhdGlvbnM6IEFycmF5PFBhcnRpYWw8RGlzY29yZEludGVncmF0aW9uPj5cbiAgLyoqXG4gICAqIExpc3Qgb2YgdGhyZWFkcyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nLlxuICAgKiBUaHJlYWRzIHJlZmVyZW5jZWQgaW4gYFRIUkVBRF9DUkVBVEVgIGFuZCBgVEhSRUFEX1VQREFURWAgZXZlbnRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgdGhyZWFkcyBtYXAgc2luY2UgYXJjaGl2ZWQgdGhyZWFkcyBtaWdodCBub3QgYmUga2VwdCBpbiBtZW1vcnkgYnkgY2xpZW50cy5cbiAgICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIExpc3Qgb2YgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50cyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudHM/OiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRbXVxuICAvKiogTGlzdCBvZiBhdXRvIG1vZGVyYXRpb24gcnVsZXMgcmVmZXJlbmNlZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlcz86IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVbXVxuICAvKiogTGlzdCBvZiBhcHBsaWNhdGlvbiBjb21tYW5kcyByZWZlcmVuY2VkIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgYXBwbGljYXRpb25fY29tbWFuZHM6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1dG8tbW9kZXJhdGlvbiNhdXRvLW1vZGVyYXRpb24tcnVsZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhpcyBydWxlICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgcnVsZSAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgcnVsZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGlzIHJ1bGUuICovXG4gIGNyZWF0b3JfaWQ6IHN0cmluZ1xuICAvKiogSW5kaWNhdGVzIGluIHdoYXQgZXZlbnQgY29udGV4dCBhIHJ1bGUgc2hvdWxkIGJlIGNoZWNrZWQuICovXG4gIGV2ZW50X3R5cGU6IEF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlc1xuICAvKiogVGhlIHR5cGUgb2YgdHJpZ2dlciBmb3IgdGhpcyBydWxlICovXG4gIHRyaWdnZXJfdHlwZTogQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXNcbiAgLyoqIFRoZSBtZXRhZGF0YSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGEgcnVsZSBzaG91bGQgYmUgdHJpZ2dlcmVkLiAqL1xuICB0cmlnZ2VyX21ldGFkYXRhOiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhXG4gIC8qKiBBY3Rpb25zIHdoaWNoIHdpbGwgZXhlY3V0ZSB3aGVuZXZlciBhIHJ1bGUgaXMgdHJpZ2dlcmVkLiAqL1xuICBhY3Rpb25zOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25bXVxuICAvKiogV2hldGhlciB0aGUgcnVsZSBpcyBlbmFibGVkLiAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBUaGUgcm9sZSBpZHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQuIE1heCAyMC4gKi9cbiAgZXhlbXB0X3JvbGVzOiBzdHJpbmdbXVxuICAvKiogVGhlIGNoYW5uZWwgaWRzIHRoYXQgYXJlIHdoaXRlbGlzdGVkLiBNYXggNTAuICovXG4gIGV4ZW1wdF9jaGFubmVsczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGVudW0gQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIHtcbiAgLyoqIFdoZW4gYSB1c2VyIHNlbmRzIGEgbWVzc2FnZSAqL1xuICBNZXNzYWdlU2VuZCA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzIHtcbiAgS2V5d29yZCA9IDEsXG4gIEhhcm1mdWxMaW5rLFxuICBTcGFtLFxuICBLZXl3b3JkUHJlc2V0LFxuICBNZW50aW9uU3BhbSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhIHtcbiAgLyoqIFRoZSBrZXl3b3JkcyBuZWVkZWQgdG8gbWF0Y2guIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLktleXdvcmQgKi9cbiAga2V5d29yZF9maWx0ZXI/OiBzdHJpbmdbXVxuICAvKiogUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zIHdoaWNoIHdpbGwgYmUgbWF0Y2hlZCBhZ2FpbnN0IGNvbnRlbnQuIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLktleXdvcmQgKi9cbiAgcmVnZXhfcGF0dGVybnM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgcHJlLWRlZmluZWQgbGlzdHMgb2Ygd29yZHMgdG8gbWF0Y2ggZnJvbS4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuS2V5d29yZFByZXNldCAqL1xuICBwcmVzZXRzPzogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHNbXVxuICAvKiogVGhlIHN1YnN0cmluZ3Mgd2hpY2ggd2lsbCBleGVtcHQgZnJvbSB0cmlnZ2VyaW5nIHRoZSBwcmVzZXQgdHJpZ2dlciB0eXBlLiBPbmx5IHByZXNlbnQgd2hlbiBUcmlnZ2VyVHlwZS5LZXl3b3JkUHJlc2V0ICovXG4gIGFsbG93X2xpc3Q/OiBzdHJpbmdbXVxuICAvKiogVG90YWwgbnVtYmVyIG9mIG1lbnRpb25zIChyb2xlICYgdXNlcikgYWxsb3dlZCBwZXIgbWVzc2FnZSAoTWF4aW11bSBvZiA1MCkuIE9ubHkgcHJlc2VudCB3aGVuIFRyaWdnZXJUeXBlLk1lbnRpb25TcGFtICovXG4gIG1lbnRpb25fdG90YWxfbGltaXQ/OiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgbWVudGlvbiByYWlkcy4gT25seSBwcmVzZW50IHdoZW4gVHJpZ2dlclR5cGUuTWVudGlvblNwYW0gKi9cbiAgbWVudGlvbl9yYWlkX3Byb3RlY3Rpb25fZW5hYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHMge1xuICAvKiogV29yZHMgdGhhdCBtYXkgYmUgY29uc2lkZXJlZCBmb3JtcyBvZiBzd2VhcmluZyBvciBjdXJzaW5nICovXG4gIFByb2Zhbml0eSA9IDEsXG4gIC8qKiBXb3JkcyB0aGF0IHJlZmVyIHRvIHNleHVhbGx5IGV4cGxpY2l0IGJlaGF2aW9yIG9yIGFjdGl2aXR5ICovXG4gIFNleHVhbENvbnRlbnQsXG4gIC8qKiBQZXJzb25hbCBpbnN1bHRzIG9yIHdvcmRzIHRoYXQgbWF5IGJlIGNvbnNpZGVyZWQgaGF0ZSBzcGVlY2ggKi9cbiAgU2x1cnMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGFjdGlvbiB0byB0YWtlIHdoZW4gYSBydWxlIGlzIHRyaWdnZXJlZCAqL1xuICB0eXBlOiBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGVcbiAgLyoqIGFkZGl0aW9uYWwgbWV0YWRhdGEgbmVlZGVkIGR1cmluZyBleGVjdXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgYWN0aW9uIHR5cGUgKi9cbiAgbWV0YWRhdGE6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZSB7XG4gIC8qKiBCbG9ja3MgdGhlIGNvbnRlbnQgb2YgYSBtZXNzYWdlIGFjY29yZGluZyB0byB0aGUgcnVsZSAqL1xuICBCbG9ja01lc3NhZ2UgPSAxLFxuICAvKiogTG9ncyB1c2VyIGNvbnRlbnQgdG8gYSBzcGVjaWZpZWQgY2hhbm5lbCAqL1xuICBTZW5kQWxlcnRNZXNzYWdlLFxuICAvKiogVGltZXMgb3V0IHVzZXIgZm9yIHNwZWNpZmllZCBkdXJhdGlvbiAqL1xuICBUaW1lb3V0LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFRoZSBpZCBvZiBjaGFubmVsIHRvIHdoaWNoIHVzZXIgY29udGVudCBzaG91bGQgYmUgbG9nZ2VkLiBPbmx5IGluIEFjdGlvblR5cGUuU2VuZEFsZXJ0TWVzc2FnZSAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKiBBZGRpdGlvbmFsIGV4cGxhbmF0aW9uIHRoYXQgd2lsbCBiZSBzaG93biB0byBtZW1iZXJzIHdoZW5ldmVyIHRoZWlyIG1lc3NhZ2UgaXMgYmxvY2tlZC4gTWF4aW11bSBvZiAxNTAgY2hhcmFjdGVycy4gT25seSBzdXBwb3J0ZWQgZm9yIEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZS5CbG9ja01lc3NhZ2UgKi9cbiAgY3VzdG9tX21lc3NhZ2U/OiBzdHJpbmdcbiAgLyoqIFRpbWVvdXQgZHVyYXRpb24gaW4gc2Vjb25kcyBtYXhpbXVtIG9mIDI0MTkyMDAgc2Vjb25kcyAoNCB3ZWVrcykuIE9ubHkgc3VwcG9ydGVkIGZvciBUcmlnZ2VyVHlwZS5LZXl3b3JkICYmIE9ubHkgaW4gQWN0aW9uVHlwZS5UaW1lb3V0ICovXG4gIGR1cmF0aW9uX3NlY29uZHM/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNhdXRvLW1vZGVyYXRpb24tYWN0aW9uLWV4ZWN1dGlvbi1hdXRvLW1vZGVyYXRpb24tYWN0aW9uLWV4ZWN1dGlvbi1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBydWxlIHRoYXQgd2FzIGV4ZWN1dGVkICovXG4gIHJ1bGVfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyIHdoaWNoIGdlbmVyYXRlZCB0aGUgY29udGVudCB3aGljaCB0cmlnZ2VyZWQgdGhlIHJ1bGUgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgY29udGVudCBmcm9tIHRoZSB1c2VyICovXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICAvKiogQWN0aW9uIHdoaWNoIHdhcyBleGVjdXRlZCAqL1xuICBhY3Rpb246IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvblxuICAvKiogVGhlIHRyaWdnZXIgdHlwZSBvZiB0aGUgcnVsZSB0aGF0IHdhcyBleGVjdXRlZC4gKi9cbiAgcnVsZV90cmlnZ2VyX3R5cGU6IEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgaW4gd2hpY2ggdXNlciBjb250ZW50IHdhcyBwb3N0ZWQgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZS4gV2lsbCBub3QgZXhpc3QgaWYgbWVzc2FnZSB3YXMgYmxvY2tlZCBieSBhdXRvbW9kIG9yIGNvbnRlbnQgd2FzIG5vdCBwYXJ0IG9mIGFueSBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgYW55IHN5c3RlbSBhdXRvIG1vZGVyYXRpb24gbWVzc2FnZXMgcG9zdGVkIGFzIGEgcmVzdWx0IG9mIHRoaXMgYWN0aW9uICovXG4gIGFsZXJ0X3N5c3RlbV9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHdvcmQgb3IgcGhyYXNlIHRoYXQgdHJpZ2dlcnJlZCB0aGUgcnVsZS4gKi9cbiAgbWF0Y2hlZF9rZXl3b3JkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgc3Vic3RyaW5nIGluIGNvbnRlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIHJ1bGUgKi9cbiAgbWF0Y2hlZF9jb250ZW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1lbnRyeS1vYmplY3QtYXVkaXQtbG9nLWVudHJ5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXVkaXRMb2dFbnRyeSB7XG4gIC8qKiBJRCBvZiB0aGUgYWZmZWN0ZWQgZW50aXR5ICh3ZWJob29rLCB1c2VyLCByb2xlLCBldGMuKSAqL1xuICB0YXJnZXRfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIENoYW5nZXMgbWFkZSB0byB0aGUgYHRhcmdldF9pZGAgKi9cbiAgY2hhbmdlcz86IERpc2NvcmRBdWRpdExvZ0NoYW5nZVtdXG4gIC8qKiBVc2VyIG9yIGFwcCB0aGF0IG1hZGUgdGhlIGNoYW5nZXMgKi9cbiAgdXNlcl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogSUQgb2YgdGhlIGVudHJ5ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgYWN0aW9uIHRoYXQgb2NjdXJyZWQgKi9cbiAgYWN0aW9uX3R5cGU6IEF1ZGl0TG9nRXZlbnRzXG4gIC8qKiBBZGRpdGlvbmFsIGluZm8gZm9yIGNlcnRhaW4gZXZlbnQgdHlwZXMgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvXG4gIC8qKiBSZWFzb24gZm9yIHRoZSBjaGFuZ2UgKDEtNTEyIGNoYXJhY3RlcnMpICovXG4gIHJlYXNvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctY2hhbmdlLW9iamVjdC1hdWRpdC1sb2ctY2hhbmdlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlID1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IHN0cmluZ1xuICAgICAgb2xkX3ZhbHVlOiBzdHJpbmdcbiAgICAgIGtleTpcbiAgICAgICAgfCAnbmFtZSdcbiAgICAgICAgfCAnZGVzY3JpcHRpb24nXG4gICAgICAgIHwgJ2Rpc2NvdmVyeV9zcGxhc2hfaGFzaCdcbiAgICAgICAgfCAnYmFubmVyX2hhc2gnXG4gICAgICAgIHwgJ3ByZWZlcnJlZF9sb2NhbGUnXG4gICAgICAgIHwgJ3J1bGVzX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ3B1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ2ljb25faGFzaCdcbiAgICAgICAgfCAnaW1hZ2VfaGFzaCdcbiAgICAgICAgfCAnc3BsYXNoX2hhc2gnXG4gICAgICAgIHwgJ293bmVyX2lkJ1xuICAgICAgICB8ICdyZWdpb24nXG4gICAgICAgIHwgJ2Fma19jaGFubmVsX2lkJ1xuICAgICAgICB8ICd2YW5pdHlfdXJsX2NvZGUnXG4gICAgICAgIHwgJ3dpZGdldF9jaGFubmVsX2lkJ1xuICAgICAgICB8ICdzeXN0ZW1fY2hhbm5lbF9pZCdcbiAgICAgICAgfCAndG9waWMnXG4gICAgICAgIHwgJ2FwcGxpY2F0aW9uX2lkJ1xuICAgICAgICB8ICdwZXJtaXNzaW9ucydcbiAgICAgICAgfCAnYWxsb3cnXG4gICAgICAgIHwgJ2RlbnknXG4gICAgICAgIHwgJ2NvZGUnXG4gICAgICAgIHwgJ2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ2ludml0ZXJfaWQnXG4gICAgICAgIHwgJ25pY2snXG4gICAgICAgIHwgJ2F2YXRhcl9oYXNoJ1xuICAgICAgICB8ICdpZCdcbiAgICAgICAgfCAnbG9jYXRpb24nXG4gICAgICAgIHwgJ2NvbW1hbmRfaWQnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogbnVtYmVyXG4gICAgICBvbGRfdmFsdWU6IG51bWJlclxuICAgICAga2V5OlxuICAgICAgICB8ICdhZmtfdGltZW91dCdcbiAgICAgICAgfCAnbWZhX2xldmVsJ1xuICAgICAgICB8ICd2ZXJpZmljYXRpb25fbGV2ZWwnXG4gICAgICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgICAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICAgICAgfCAncHJ1bmVfZGVsZXRlX2RheXMnXG4gICAgICAgIHwgJ3Bvc2l0aW9uJ1xuICAgICAgICB8ICdiaXRyYXRlJ1xuICAgICAgICB8ICdyYXRlX2xpbWl0X3Blcl91c2VyJ1xuICAgICAgICB8ICdjb2xvcidcbiAgICAgICAgfCAnbWF4X3VzZXMnXG4gICAgICAgIHwgJ3VzZXMnXG4gICAgICAgIHwgJ21heF9hZ2UnXG4gICAgICAgIHwgJ2V4cGlyZV9iZWhhdmlvcidcbiAgICAgICAgfCAnZXhwaXJlX2dyYWNlX3BlcmlvZCdcbiAgICAgICAgfCAndXNlcl9saW1pdCdcbiAgICAgICAgfCAncHJpdmFjeV9sZXZlbCdcbiAgICAgICAgfCAnYXV0b19hcmNoaXZlX2R1cmF0aW9uJ1xuICAgICAgICB8ICdkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbidcbiAgICAgICAgfCAnZW50aXR5X3R5cGUnXG4gICAgICAgIHwgJ3N0YXR1cydcbiAgICAgICAgfCAnY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCdcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBBcnJheTxQYXJ0aWFsPERpc2NvcmRSb2xlPj5cbiAgICAgIG9sZF92YWx1ZT86IEFycmF5PFBhcnRpYWw8RGlzY29yZFJvbGU+PlxuICAgICAga2V5OiAnJGFkZCcgfCAnJHJlbW92ZSdcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBib29sZWFuXG4gICAgICBvbGRfdmFsdWU6IGJvb2xlYW5cbiAgICAgIGtleTpcbiAgICAgICAgfCAnd2lkZ2V0X2VuYWJsZWQnXG4gICAgICAgIHwgJ25zZncnXG4gICAgICAgIHwgJ2hvaXN0J1xuICAgICAgICB8ICdtZW50aW9uYWJsZSdcbiAgICAgICAgfCAndGVtcG9yYXJ5J1xuICAgICAgICB8ICdkZWFmJ1xuICAgICAgICB8ICdtdXRlJ1xuICAgICAgICB8ICdlbmFibGVfZW1vdGljb25zJ1xuICAgICAgICB8ICdhcmNoaXZlZCdcbiAgICAgICAgfCAnbG9ja2VkJ1xuICAgICAgICB8ICdpbnZpdGFibGUnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogRGlzY29yZE92ZXJ3cml0ZVtdXG4gICAgICBvbGRfdmFsdWU6IERpc2NvcmRPdmVyd3JpdGVbXVxuICAgICAga2V5OiAncGVybWlzc2lvbl9vdmVyd3JpdGVzJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IHN0cmluZyB8IG51bWJlclxuICAgICAgb2xkX3ZhbHVlOiBzdHJpbmcgfCBudW1iZXJcbiAgICAgIGtleTogJ3R5cGUnXG4gICAgfVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctZW50cnktb2JqZWN0LW9wdGlvbmFsLWF1ZGl0LWVudHJ5LWluZm8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE9wdGlvbmFsQXVkaXRFbnRyeUluZm8ge1xuICAvKipcbiAgICogSUQgb2YgdGhlIGFwcCB3aG9zZSBwZXJtaXNzaW9ucyB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFQUExJQ0FUSU9OX0NPTU1BTkRfUEVSTUlTU0lPTl9VUERBVEVgXG4gICAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBdXRvIE1vZGVyYXRpb24gcnVsZSB0aGF0IHdhcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVVUT19NT0RFUkFUSU9OX0JMT0NLX01FU1NBR0VgLCBgQVVUT19NT0RFUkFUSU9OX0ZMQUdfVE9fQ0hBTk5FTGAsIGBBVVRPX01PREVSQVRJT05fVVNFUl9DT01NVU5JQ0FUSU9OX0RJU0FCTEVEYFxuICAgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVfbmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHR5cGUgb2YgdGhlIEF1dG8gTW9kZXJhdGlvbiBydWxlIHRoYXQgd2FzIHRyaWdnZXJlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBBVVRPX01PREVSQVRJT05fQkxPQ0tfTUVTU0FHRWAsIGBBVVRPX01PREVSQVRJT05fRkxBR19UT19DSEFOTkVMYCwgYEFVVE9fTU9ERVJBVElPTl9VU0VSX0NPTU1VTklDQVRJT05fRElTQUJMRURgXG4gICAqL1xuICBhdXRvX21vZGVyYXRpb25fcnVsZV90cmlnZ2VyX3R5cGU6IHN0cmluZ1xuICAvKipcbiAgICogQ2hhbm5lbCBpbiB3aGljaCB0aGUgZW50aXRpZXMgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfTU9WRWAsIGBNRVNTQUdFX1BJTmAsIGBNRVNTQUdFX1VOUElOYCwgYE1FU1NBR0VfREVMRVRFYCwgYFNUQUdFX0lOU1RBTkNFX0NSRUFURWAsIGBTVEFHRV9JTlNUQU5DRV9VUERBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfREVMRVRFYFxuICAgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZW50aXRpZXMgdGhhdCB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FU1NBR0VfREVMRVRFYCwgYE1FU1NBR0VfQlVMS19ERUxFVEVgLCBgTUVNQkVSX0RJU0NPTk5FQ1RgLCBgTUVNQkVSX01PVkVgXG4gICAqL1xuICBjb3VudDogc3RyaW5nXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCBpbmFjdGl2ZSBtZW1iZXJzIHdlcmUga2lja2VkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9QUlVORWBcbiAgICovXG4gIGRlbGV0ZV9tZW1iZXJfZGF5czogc3RyaW5nXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgb3ZlcndyaXR0ZW4gZW50aXR5LlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYENIQU5ORUxfT1ZFUldSSVRFX0NSRUFURWAsIGBDSEFOTkVMX09WRVJXUklURV9VUERBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfREVMRVRFYFxuICAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIG1lbWJlcnMgcmVtb3ZlZCBieSB0aGUgcHJ1bmUuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX1BSVU5FYFxuICAgKi9cbiAgbWVtYmVyc19yZW1vdmVkOiBzdHJpbmdcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBtZXNzYWdlIHRoYXQgd2FzIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FU1NBR0VfUElOYCwgYE1FU1NBR0VfVU5QSU5gLCBgU1RBR0VfSU5TVEFOQ0VfQ1JFQVRFYCwgYFNUQUdFX0lOU1RBTkNFX1VQREFURWAsIGBTVEFHRV9JTlNUQU5DRV9ERUxFVEVgXG4gICAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHJvbGUgaWYgdHlwZSBpcyBcIjBcIiAobm90IHByZXNlbnQgaWYgdHlwZSBpcyBcIjFcIikuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICByb2xlX25hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHlwZSBvZiBvdmVyd3JpdHRlbiBlbnRpdHkgLSBcIjBcIiwgZm9yIFwicm9sZVwiLCBvciBcIjFcIiBmb3IgXCJtZW1iZXJcIi5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIHR5cGU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgaW50ZWdyYXRpb24gd2hpY2ggcGVyZm9ybWVkIHRoZSBhY3Rpb25cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfS0lDS2AsIGBNRU1CRVJfUk9MRV9VUERBVEVgXG4gICAqL1xuICBpbnRlZ3JhdGlvbl90eXBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnQge1xuICAvKiogdGhlIGlkIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdGhlIGd1aWxkIGlkIHdoaWNoIHRoZSBzY2hlZHVsZWQgZXZlbnQgYmVsb25ncyB0byAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiB0aGUgY2hhbm5lbCBpZCBpbiB3aGljaCB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgYmUgaG9zdGVkIGlmIHNwZWNpZmllZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgaWQgb2YgdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcl9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBuYW1lIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogdGhlIHRpbWUgdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIHN0YXJ0ICovXG4gIHNjaGVkdWxlZF9zdGFydF90aW1lOiBzdHJpbmdcbiAgLyoqIHRoZSB0aW1lIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBlbmQgaWYgaXQgZG9lcyBlbmQuICovXG4gIHNjaGVkdWxlZF9lbmRfdGltZTogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHByaXZhY3kgbGV2ZWwgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBwcml2YWN5X2xldmVsOiBTY2hlZHVsZWRFdmVudFByaXZhY3lMZXZlbFxuICAvKiogdGhlIHN0YXR1cyBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHN0YXR1czogU2NoZWR1bGVkRXZlbnRTdGF0dXNcbiAgLyoqIHRoZSB0eXBlIG9mIGhvc3RpbmcgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCBhIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfdHlwZTogU2NoZWR1bGVkRXZlbnRFbnRpdHlUeXBlXG4gIC8qKiBhbnkgYWRkaXRpb25hbCBpZCBvZiB0aGUgaG9zdGluZyBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIGV2ZW50ICovXG4gIGVudGl0eV9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIGVudGl0eSBtZXRhZGF0YSBmb3IgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfbWV0YWRhdGE6IERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHwgbnVsbFxuICAvKiogdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcj86IERpc2NvcmRVc2VyXG4gIC8qKiB0aGUgbnVtYmVyIG9mIHVzZXJzIHN1YnNjcmliZWQgdG8gdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICB1c2VyX2NvdW50PzogbnVtYmVyXG4gIC8qKiB0aGUgY292ZXIgaW1hZ2UgaGFzaCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGltYWdlPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHtcbiAgLyoqIGxvY2F0aW9uIG9mIHRoZSBldmVudCAqL1xuICBsb2NhdGlvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ2V0LWdhdGV3YXktYm90ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHZXRHYXRld2F5Qm90IHtcbiAgLyoqIFRoZSBXU1MgVVJMIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIGdhdGV3YXkgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2Ygc2hhcmRzIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgKi9cbiAgc2hhcmRzOiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IHNlc3Npb24gc3RhcnQgbGltaXQgKi9cbiAgc2Vzc2lvbl9zdGFydF9saW1pdDogRGlzY29yZFNlc3Npb25TdGFydExpbWl0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNzZXNzaW9uLXN0YXJ0LWxpbWl0LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXQge1xuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9uIHN0YXJ0cyB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgKi9cbiAgdG90YWw6IG51bWJlclxuICAvKiogVGhlIHJlbWFpbmluZyBudW1iZXIgb2Ygc2Vzc2lvbiBzdGFydHMgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkICovXG4gIHJlbWFpbmluZzogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgbGltaXQgcmVzZXRzICovXG4gIHJlc2V0X2FmdGVyOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgaWRlbnRpZnkgcmVxdWVzdHMgYWxsb3dlZCBwZXIgNSBzZWNvbmRzICovXG4gIG1heF9jb25jdXJyZW5jeTogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvaW52aXRlI2ludml0ZS1tZXRhZGF0YS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZU1ldGFkYXRhIGV4dGVuZHMgRGlzY29yZEludml0ZSB7XG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgaGFzIGJlZW4gdXNlZCAqL1xuICB1c2VzOiBudW1iZXJcbiAgLyoqIE1heCBudW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4X3VzZXM6IG51bWJlclxuICAvKiogRHVyYXRpb24gKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSBpbnZpdGUgZXhwaXJlcyAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyBpbnZpdGUgb25seSBncmFudHMgdGVtcG9yYXJ5IG1lbWJlcnNoaXAgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBXaGVuIHRoaXMgaW52aXRlIHdhcyBjcmVhdGVkICovXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2ludml0ZSNpbnZpdGUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGUge1xuICAvKiogVGhlIHR5cGUgb2YgaW52aXRlICovXG4gIHR5cGU6IERpc2NvcmRJbnZpdGVUeXBlXG4gIC8qKiBUaGUgaW52aXRlIGNvZGUgKHVuaXF1ZSBJZCkgKi9cbiAgY29kZTogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIGd1aWxkPzogUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gIC8qKiBUaGUgY2hhbm5lbCB0aGlzIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbDogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD4gfCBudWxsXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgaW52aXRlICovXG4gIGludml0ZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIHR5cGUgb2YgdGFyZ2V0IGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgaW52aXRlICovXG4gIHRhcmdldF90eXBlPzogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudD86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2YgdG90YWwgbWVtYmVycyAqL1xuICBhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBleHBpcmF0aW9uIGRhdGUgb2YgdGhpcyBpbnZpdGUsIHJldHVybmVkIGZyb20gdGhlIGBHRVQgL2ludml0ZXMvPGNvZGU+YCBlbmRwb2ludCB3aGVuIGB3aXRoX2V4cGlyYXRpb25gIGlzIGB0cnVlYCAqL1xuICBleHBpcmVzX2F0Pzogc3RyaW5nIHwgbnVsbFxuICAvKiogU3RhZ2UgaW5zdGFuY2UgZGF0YSBpZiB0aGVyZSBpcyBhIHB1YmxpYyBTdGFnZSBpbnN0YW5jZSBpbiB0aGUgU3RhZ2UgY2hhbm5lbCB0aGlzIGludml0ZSBpcyBmb3IgKi9cbiAgc3RhZ2VfaW5zdGFuY2U/OiBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZVxuICAvKiogZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGRhdGEgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50PzogRGlzY29yZFNjaGVkdWxlZEV2ZW50XG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRJbnZpdGVUeXBlIHtcbiAgR3VpbGQsXG4gIEdyb3VwRG0sXG4gIEZyaWVuZCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSB7XG4gIC8qKiBUaGUgbWVtYmVycyBzcGVha2luZyBpbiB0aGUgU3RhZ2UgKi9cbiAgbWVtYmVyczogQXJyYXk8UGFydGlhbDxEaXNjb3JkTWVtYmVyPj5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdXNlcnMgaW4gdGhlIFN0YWdlICovXG4gIHBhcnRpY2lwYW50X2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgdXNlcnMgc3BlYWtpbmcgaW4gdGhlIFN0YWdlICovXG4gIHNwZWFrZXJfY291bnQ6IG51bWJlclxuICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgdG9waWM6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQgZXh0ZW5kcyBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIHtcbiAgLyoqIFVuaXF1ZSBJRCBvZiBjb21tYW5kICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogR3VpbGQgaWQgb2YgdGhlIGNvbW1hbmQsIGlmIG5vdCBnbG9iYWwgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIHtcbiAgLyoqIFR5cGUgb2YgY29tbWFuZCwgZGVmYXVsdHMgdG8gYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgKi9cbiAgdHlwZT86IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICogYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICogQXBwbGljYXRpb25Db21tYW5kVHlwZXMuVXNlcmAgYW5kIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlYCBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciBgbmFtZWAgZmllbGQuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzIGBuYW1lYCAqL1xuICBuYW1lX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBEZXNjcmlwdGlvbiBmb3IgYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZHMsIDEtMTAwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBQYXJhbWV0ZXJzIGZvciB0aGUgY29tbWFuZCwgbWF4IG9mIDI1ICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqIFNldCBvZiBwZXJtaXNzaW9ucyByZXByZXNlbnRlZCBhcyBhIGJpdCBzZXQgKi9cbiAgZGVmYXVsdF9tZW1iZXJfcGVybWlzc2lvbnM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKlxuICAgKiBJbnN0YWxsYXRpb24gY29udGV4dChzKSB3aGVyZSB0aGUgY29tbWFuZCBpcyBhdmFpbGFibGVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgaW4gcHJldmlldy5cbiAgICovXG4gIGludGVncmF0aW9uX3R5cGVzPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlW11cbiAgLyoqXG4gICAqIEludGVyYWN0aW9uIGNvbnRleHQocykgd2hlcmUgdGhlIGNvbW1hbmQgY2FuIGJlIHVzZWQsIG9ubHkgZm9yIGdsb2JhbGx5LXNjb3BlZCBjb21tYW5kcy4gQnkgZGVmYXVsdCwgYWxsIGludGVyYWN0aW9uIGNvbnRleHQgdHlwZXMgaW5jbHVkZWQuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgY3VycmVudGx5IGluIHByZXZpZXcuXG4gICAqL1xuICBjb250ZXh0cz86IERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlW10gfCBudWxsXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBhdmFpbGFibGUgaW4gRE1zIHdpdGggdGhlIGFwcCwgb25seSBmb3IgZ2xvYmFsbHktc2NvcGVkIGNvbW1hbmRzLiBCeSBkZWZhdWx0LCBjb21tYW5kcyBhcmUgdmlzaWJsZS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBjb250ZXh0c30gaW5zdGVhZFxuICAgKi9cbiAgZG1fcGVybWlzc2lvbj86IGJvb2xlYW5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIGFnZS1yZXN0cmljdGVkLCBkZWZhdWx0cyB0byBmYWxzZSAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogQXV0byBpbmNyZW1lbnRpbmcgdmVyc2lvbiBpZGVudGlmaWVyIHVwZGF0ZWQgZHVyaW5nIHN1YnN0YW50aWFsIHJlY29yZCBjaGFuZ2VzICovXG4gIHZlcnNpb24/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9hcHBsaWNhdGlvbi1jb21tYW5kcyNhcHBsaWNhdGlvbi1jb21tYW5kLW9iamVjdC1hcHBsaWNhdGlvbi1jb21tYW5kLW9wdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB7XG4gIC8qKiBUeXBlIG9mIG9wdGlvbiAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlc1xuICAvKipcbiAgICogTmFtZSBvZiBjb21tYW5kLCAxLTMyIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gYW4gYXJyYXkgb2Yge0BsaW5rIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb259XG4gICAqXG4gICAqIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5DaGF0SW5wdXQgfCBDaGF0SW5wdXR9IGNvbW1hbmQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgZm9sbG93aW5nIHJlZ2V4IGBeWy1fXFxwe0x9XFxwe059XFxwe3NjPURldmF9XFxwe3NjPVRoYWl9XXsxLDMyfSRgIHdpdGggdGhlIHVuaWNvZGUgZmxhZyBzZXQuXG4gICAqIElmIHRoZXJlIGlzIGEgbG93ZXJjYXNlIHZhcmlhbnQgb2YgYW55IGxldHRlcnMgdXNlZCwgeW91IG11c3QgdXNlIHRob3NlLlxuICAgKiBDaGFyYWN0ZXJzIHdpdGggbm8gbG93ZXJjYXNlIHZhcmlhbnRzIGFuZC9vciB1bmNhc2VkIGxldHRlcnMgYXJlIHN0aWxsIGFsbG93ZWQuXG4gICAqXG4gICAqIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5Vc2VyIHwgVXNlcn0gYW5kIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlIHwgTWVzc2FnZX0gY29tbWFuZHMgbWF5IGJlIG1peGVkIGNhc2UgYW5kIGNhbiBpbmNsdWRlIHNwYWNlcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYGRlc2NyaXB0aW9uYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYGRlc2NyaXB0aW9uYCAqL1xuICBkZXNjcmlwdGlvbl9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKipcbiAgICogSWYgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZCBvciBvcHRpb25hbC4gZGVmYXVsdCBgZmFsc2VgXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFZhbGlkIGluIGFsbCBvcHRpb24gdHlwZXMgZXhjZXB0IHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kIHwgU3ViQ29tbWFuZH0gYW5kIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXAgfCBTdWJDb21tYW5kR3JvdXB9XG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIENob2ljZXMgZm9yIHRoZSBvcHRpb24gZnJvbSB3aGljaCB0aGUgdXNlciBjYW4gY2hvb3NlLCBtYXggMjVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ30sIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyIHwgSW50ZWdlcn0sIG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqXG4gICAqIElmIHlvdSBwcm92aWRlIGFuIGFycmF5IG9mIGNob2ljZXMsIHRoZXkgd2lsbCBiZSB0aGUgT05MWSBhY2NlcHRlZCB2YWx1ZXMgZm9yIHRoaXMgb3B0aW9uXG4gICAqL1xuICBjaG9pY2VzPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdXG4gIC8qKlxuICAgKiBJZiB0aGUgb3B0aW9uIGlzIGEgc3ViY29tbWFuZCBvciBzdWJjb21tYW5kIGdyb3VwIHR5cGUsIHRoZXNlIG5lc3RlZCBvcHRpb25zIHdpbGwgYmUgdGhlIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb24gb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3ViQ29tbWFuZCB8IFN1YkNvbW1hbmR9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXAgfCBTdWJDb21tYW5kR3JvdXB9XG4gICAqL1xuICBvcHRpb25zPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbltdXG4gIC8qKlxuICAgKiBJZiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb25zIGFyZSBlbmFibGVkIGZvciB0aGlzIG9wdGlvbi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ30sIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyIHwgSW50ZWdlcn0sIG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqXG4gICAqIFdoZW4ge0BsaW5rIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24uY2hvaWNlcyB8IGNob2ljZXN9IGFyZSBwcm92aWRlZCwgdGhpcyBtYXkgbm90IGJlIHNldCB0byB0cnVlXG4gICAqL1xuICBhdXRvY29tcGxldGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGUgY2hhbm5lbHMgc2hvd24gd2lsbCBiZSByZXN0cmljdGVkIHRvIHRoZXNlIHR5cGVzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgdmFsaWQgaW4gb3B0aW9uIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkNoYW5uZWwgfCBDaGFubmVsfVxuICAgKi9cbiAgY2hhbm5lbF90eXBlcz86IENoYW5uZWxUeXBlc1tdXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgdmFsdWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSBvciB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyIHwgTnVtYmVyfVxuICAgKi9cbiAgbWluX3ZhbHVlPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBwZXJtaXR0ZWQgdmFsdWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSBvciB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyIHwgTnVtYmVyfVxuICAgKi9cbiAgbWF4X3ZhbHVlPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgbGVuZ3RoLCBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIG9mIGZyb20gMCB0byA2MDBcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ31cbiAgICovXG4gIG1pbl9sZW5ndGg/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHBlcm1pdHRlZCBsZW5ndGgsIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgZnJvbSAwIHRvIDYwMFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfVxuICAgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtcGVybWlzc2lvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2Uge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNob2ljZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFZhbHVlIGZvciB0aGUgY2hvaWNlLCB1cCB0byAxMDAgY2hhcmFjdGVycyBpZiBzdHJpbmcgKi9cbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2d1aWxkYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMge1xuICAvKiogSUQgb2YgdGhlIGNvbW1hbmQgb3IgdGhlIGFwcGxpY2F0aW9uIElELiBXaGVuIHRoZSBgaWRgIGZpZWxkIGlzIHRoZSBhcHBsaWNhdGlvbiBJRCBpbnN0ZWFkIG9mIGEgY29tbWFuZCBJRCwgdGhlIHBlcm1pc3Npb25zIGFwcGx5IHRvIGFsbCBjb21tYW5kcyB0aGF0IGRvIG5vdCBjb250YWluIGV4cGxpY2l0IG92ZXJ3cml0ZXMuICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGUgY29tbWFuZCBiZWxvbmdzIHRvICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9ucyBmb3IgdGhlIGNvbW1hbmQgaW4gdGhlIGd1aWxkLCBtYXggb2YgMTAwICovXG4gIHBlcm1pc3Npb25zOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2FwcGxpY2F0aW9uY29tbWFuZHBlcm1pc3Npb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgcm9sZSwgdXNlciwgb3IgY2hhbm5lbC4gSXQgY2FuIGFsc28gYmUgYSBwZXJtaXNzaW9uIGNvbnN0YW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Sb2xlLCBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuVXNlciwgb3IgQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLkNoYW5uZWwgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzXG4gIC8qKiBgdHJ1ZWAgdG8gYWxsb3csIGBmYWxzZWAsIHRvIGRpc2FsbG93ICovXG4gIHBlcm1pc3Npb246IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNnZXQtZ3VpbGQtd2lkZ2V0LWV4YW1wbGUtZ2V0LWd1aWxkLXdpZGdldCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRXaWRnZXQge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBpbnN0YW50X2ludml0ZTogc3RyaW5nXG4gIGNoYW5uZWxzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHBvc2l0aW9uOiBudW1iZXJcbiAgfT5cbiAgbWVtYmVyczogQXJyYXk8e1xuICAgIGlkOiBzdHJpbmdcbiAgICB1c2VybmFtZTogc3RyaW5nXG4gICAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gICAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbFxuICAgIHN0YXR1czogc3RyaW5nXG4gICAgYXZhdGFyX3VybDogc3RyaW5nXG4gIH0+XG4gIHByZXNlbmNlX2NvdW50OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1wcmV2aWV3LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRQcmV2aWV3IHtcbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoICovXG4gIGRpc2NvdmVyeV9zcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIEN1c3RvbSBndWlsZCBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygb25saW5lIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBndWlsZCwgaWYgdGhlIGd1aWxkIGlzIGRpc2NvdmVyYWJsZSAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIHN0aWNrZXJzICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNmb2xsb3dlZC1jaGFubmVsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRm9sbG93ZWRDaGFubmVsIHtcbiAgLyoqIFNvdXJjZSBtZXNzYWdlIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogQ3JlYXRlZCB0YXJnZXQgd2ViaG9vayBpZCAqL1xuICB3ZWJob29rX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3BheWxvYWRzLWdhdGV3YXktcGF5bG9hZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdhdGV3YXlQYXlsb2FkIHtcbiAgLyoqIG9wY29kZSBmb3IgdGhlIHBheWxvYWQgKi9cbiAgb3A6IG51bWJlclxuICAvKiogRXZlbnQgZGF0YSAqL1xuICBkOiB1bmtub3duIHwgbnVsbFxuICAvKiogU2VxdWVuY2UgbnVtYmVyLCB1c2VkIGZvciByZXN1bWluZyBzZXNzaW9ucyBhbmQgaGVhcnRiZWF0cyAqL1xuICBzOiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgZXZlbnQgbmFtZSBmb3IgdGhpcyBwYXlsb2FkICovXG4gIHQ6IEdhdGV3YXlFdmVudE5hbWVzIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVycy1jaHVuayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJzQ2h1bmsge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBTZXQgb2YgZ3VpbGQgbWVtYmVycyAqL1xuICBtZW1iZXJzOiBEaXNjb3JkTWVtYmVyV2l0aFVzZXJbXVxuICAvKiogVGhlIGNodW5rIGluZGV4IGluIHRoZSBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKDAgPD0gY2h1bmtfaW5kZXggPCBjaHVua19jb3VudCkgKi9cbiAgY2h1bmtfaW5kZXg6IG51bWJlclxuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKi9cbiAgY2h1bmtfY291bnQ6IG51bWJlclxuICAvKiogSWYgcGFzc2luZyBhbiBpbnZhbGlkIGlkIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBpdCB3aWxsIGJlIHJldHVybmVkIGhlcmUgKi9cbiAgbm90X2ZvdW5kPzogc3RyaW5nW11cbiAgLyoqIElmIHBhc3NpbmcgdHJ1ZSB0byBgUkVRVUVTVF9HVUlMRF9NRU1CRVJTYCwgcHJlc2VuY2VzIG9mIHRoZSByZXR1cm5lZCBtZW1iZXJzIHdpbGwgYmUgaGVyZSAqL1xuICBwcmVzZW5jZXM/OiBEaXNjb3JkUHJlc2VuY2VVcGRhdGVbXVxuICAvKiogVGhlIG5vbmNlIHVzZWQgaW4gdGhlIEd1aWxkIE1lbWJlcnMgUmVxdWVzdCAqL1xuICBub25jZT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjY2hhbm5lbC1waW5zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hhbm5lbFBpbnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIG1vc3QgcmVjZW50IHBpbm5lZCBtZXNzYWdlIHdhcyBwaW5uZWQgKi9cbiAgbGFzdF9waW5fdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtcm9sZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZURlbGV0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHJvbGUgKi9cbiAgcm9sZV9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1iYW4tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEJhbkFkZFJlbW92ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGJhbm5lZCB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlIGV4dGVuZHMgT21pdDxEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkLCAnbWVtYmVyJz4ge31cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQge1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlciB3aG8gcmVhY3RlZCBpZiB0aGlzIGhhcHBlbmVkIGluIGEgZ3VpbGQgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBUaGUgZW1vamkgdXNlZCB0byByZWFjdCAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9hdXRob3JfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3ZvaWNlLXNlcnZlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlU2VydmVyVXBkYXRlIHtcbiAgLyoqIFZvaWNlIGNvbm5lY3Rpb24gdG9rZW4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgdm9pY2Ugc2VydmVyIHVwZGF0ZSBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHZvaWNlIHNlcnZlciBob3N0ICovXG4gIGVuZHBvaW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNpbnZpdGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVDcmVhdGUge1xuICAvKiogVGhlIGNoYW5uZWwgdGhlIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZTogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgaW52aXRlIGlzIHRlbXBvcmFyeSAoaW52aXRlZCB1c2VycyB3aWxsIGJlIGtpY2tlZCBvbiBkaXNjb25uZWN0IHVubGVzcyB0aGV5J3JlIGFzc2lnbmVkIGEgcm9sZSkgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBIb3cgbWFueSB0aW1lcyB0aGUgaW52aXRlIGhhcyBiZWVuIHVzZWQgKGFsd2F5cyB3aWxsIGJlIDApICovXG4gIHVzZXM6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaGVsbG8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEhlbGxvIHtcbiAgLyoqIFRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSB0aGUgY2xpZW50IHNob3VsZCBoZWFydGJlYXQgd2l0aCAqL1xuICBoZWFydGJlYXRfaW50ZXJ2YWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcmVhZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWR5IHtcbiAgLyoqIEdhdGV3YXkgdmVyc2lvbiAqL1xuICB2OiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIGluY2x1ZGluZyBlbWFpbCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGd1aWxkcyB0aGUgdXNlciBpcyBpbiAqL1xuICBndWlsZHM6IERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkW11cbiAgLyoqIFVzZWQgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICAvKiogR2F0ZXdheSB1cmwgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHJlc3VtZV9nYXRld2F5X3VybDogc3RyaW5nXG4gIC8qKiBUaGUgc2hhcmQgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2Vzc2lvbiwgaWYgc2VudCB3aGVuIGlkZW50aWZ5aW5nICovXG4gIHNoYXJkPzogW251bWJlciwgbnVtYmVyXVxuICAvKiogQ29udGFpbnMgaWQgYW5kIGZsYWdzICovXG4gIGFwcGxpY2F0aW9uOiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj4gJiBQaWNrPERpc2NvcmRBcHBsaWNhdGlvbiwgJ2lkJyB8ICdmbGFncyc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjdW5hdmFpbGFibGUtZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkIGV4dGVuZHMgUGljazxEaXNjb3JkR3VpbGQsICdpZCcgfCAndW5hdmFpbGFibGUnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUtYnVsayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZUJ1bGsge1xuICAvKiogVGhlIGlkcyBvZiB0aGUgbWVzc2FnZXMgKi9cbiAgaWRzOiBzdHJpbmdbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3RlbXBsYXRlI3RlbXBsYXRlLW9iamVjdC10ZW1wbGF0ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlbXBsYXRlIHtcbiAgLyoqIFRoZSB0ZW1wbGF0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGVtcGxhdGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHRlbXBsYXRlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyB0ZW1wbGF0ZSBoYXMgYmVlbiB1c2VkICovXG4gIHVzYWdlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBJZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcjogRGlzY29yZFVzZXJcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgbGFzdCBzeW5jZWQgdG8gdGhlIHNvdXJjZSBndWlsZCAqL1xuICB1cGRhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBJZCBvZiB0aGUgZ3VpbGQgdGhpcyB0ZW1wbGF0ZSBpcyBiYXNlZCBvbiAqL1xuICBzb3VyY2VfZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHNuYXBzaG90IHRoaXMgdGVtcGxhdGUgY29udGFpbnMgKi9cbiAgc2VyaWFsaXplZF9zb3VyY2VfZ3VpbGQ6IE9taXQ8XG4gICAgUGlja1BhcnRpYWw8XG4gICAgICBEaXNjb3JkR3VpbGQsXG4gICAgICB8ICduYW1lJ1xuICAgICAgfCAnZGVzY3JpcHRpb24nXG4gICAgICB8ICd2ZXJpZmljYXRpb25fbGV2ZWwnXG4gICAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgICAgfCAncHJlZmVycmVkX2xvY2FsZSdcbiAgICAgIHwgJ2Fma190aW1lb3V0J1xuICAgICAgfCAnY2hhbm5lbHMnXG4gICAgICB8ICdhZmtfY2hhbm5lbF9pZCdcbiAgICAgIHwgJ3N5c3RlbV9jaGFubmVsX2lkJ1xuICAgICAgfCAnc3lzdGVtX2NoYW5uZWxfZmxhZ3MnXG4gICAgPixcbiAgICAncm9sZXMnXG4gID4gJiB7XG4gICAgcm9sZXM6IEFycmF5PFxuICAgICAgT21pdDxQaWNrUGFydGlhbDxEaXNjb3JkUm9sZSwgJ25hbWUnIHwgJ2NvbG9yJyB8ICdob2lzdCcgfCAnbWVudGlvbmFibGUnIHwgJ3Blcm1pc3Npb25zJyB8ICdpY29uJyB8ICd1bmljb2RlX2Vtb2ppJz4sICdpZCc+ICYgeyBpZDogbnVtYmVyIH1cbiAgICA+XG4gIH1cbiAgLyoqIFdoZXRoZXIgdGhlIHRlbXBsYXRlIGhhcyB1bi1zeW5jZWQgY2hhbmdlcyAqL1xuICBpc19kaXJ0eTogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLW1lbWJlci1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkTWVtYmVyQWRkIGV4dGVuZHMgRGlzY29yZE1lbWJlcldpdGhVc2VyIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjdGhyZWFkLW1lbWJlcnMtdXBkYXRlLXRocmVhZC1tZW1iZXJzLXVwZGF0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlcnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcnMgd2hvIHdlcmUgYWRkZWQgdG8gdGhlIHRocmVhZCAqL1xuICBhZGRlZF9tZW1iZXJzPzogRGlzY29yZFRocmVhZE1lbWJlcltdXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXJzIHdobyB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgdGhyZWFkICovXG4gIHJlbW92ZWRfbWVtYmVyX2lkcz86IHN0cmluZ1tdXG4gIC8qKiB0aGUgYXBwcm94aW1hdGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhlIHRocmVhZCwgY2FwcGVkIGF0IDUwICovXG4gIG1lbWJlcl9jb3VudDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN0aHJlYWQtbWVtYmVyLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBib3Qgam9pbmVkIHRoaXMgdGhyZWFkLiAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogVGhlIGZsYWdzIHRoaXMgdXNlciBoYXMgZm9yIHRoaXMgdGhyZWFkLiBOb3QgdXNlZnVsIGZvciBib3RzLiAqL1xuICBmbGFnczogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLWNyZWF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlQ3JlYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgY3JlYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtZW1vamlzLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRFbW9qaXNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjZ3VpbGQtc3RpY2tlcnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFN0aWNrZXJzVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiBzdGlja2VyICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXItdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlclVwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFVzZXIgcm9sZSBpZHMgKi9cbiAgcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogTmlja25hbWUgb2YgdGhlIHVzZXIgaW4gdGhlIGd1aWxkICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgbWVtYmVyJ3MgW2d1aWxkIGF2YXRhciBoYXNoXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjaW1hZ2UtZm9ybWF0dGluZykgKi9cbiAgYXZhdGFyOiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGluZyBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogd2hlbiB0aGUgdXNlcidzIFt0aW1lb3V0XShodHRwczovL3N1cHBvcnQuZGlzY29yZC5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvNDQxMzMwNTIzOTE5MS1UaW1lLU91dC1GQVEpIHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0LiBXaWxsIHRocm93IGEgNDAzIGVycm9yIGlmIHRoZSB1c2VyIGhhcyB0aGUgQURNSU5JU1RSQVRPUiBwZXJtaXNzaW9uIG9yIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1yZW1vdmUtYWxsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmVBbGwgZXh0ZW5kcyBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdtZXNzYWdlX2lkJyB8ICdndWlsZF9pZCc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgdXBkYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJBZGQge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSB1c2VyICAgICAgICAgICAgICAgICAgICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlLWVtb2ppICovXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlRW1vamkgPSBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdndWlsZF9pZCcgfCAnbWVzc2FnZV9pZCcgfCAnZW1vamknPlxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJSZW1vdmUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gd2FzIHJlbW92ZWQgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNiYW4tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCYW4ge1xuICAvKiogVGhlIHJlYXNvbiBmb3IgdGhlIGJhbiAqL1xuICByZWFzb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBiYW5uZWQgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJSZW1vdmUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaW52aXRlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlRGVsZXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIG9mIHRoZSBpbnZpdGUgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGludml0ZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVuaXF1ZSBpbnZpdGUgY29kZSAqL1xuICBjb2RlOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy92b2ljZSN2b2ljZS1yZWdpb24tb2JqZWN0LXZvaWNlLXJlZ2lvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlUmVnaW9uIHtcbiAgLyoqIFVuaXF1ZSBJZCBmb3IgdGhlIHJlZ2lvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSByZWdpb24gKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0cnVlIGZvciBhIHNpbmdsZSBzZXJ2ZXIgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBjdXJyZW50IHVzZXIncyBjbGllbnQgKi9cbiAgb3B0aW1hbDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZGVwcmVjYXRlZCB2b2ljZSByZWdpb24gKGF2b2lkIHN3aXRjaGluZyB0byB0aGVzZSkgKi9cbiAgZGVwcmVjYXRlZDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgY3VzdG9tIHZvaWNlIHJlZ2lvbiAodXNlZCBmb3IgZXZlbnRzL2V0YykgKi9cbiAgY3VzdG9tOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3Mge1xuICAvKiogd2hldGhlciB0aGUgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogdGhlIHdpZGdldCBjaGFubmVsIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5zdGFsbFBhcmFtcyB7XG4gIC8qKiBTY29wZXMgdG8gYWRkIHRoZSBhcHBsaWNhdGlvbiB0byB0aGUgc2VydmVyIHdpdGggKi9cbiAgc2NvcGVzOiBPQXV0aDJTY29wZVtdXG4gIC8qKiBQZXJtaXNzaW9ucyB0byByZXF1ZXN0IGZvciB0aGUgYm90IHJvbGUgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb3J1bVRhZyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gIG1vZGVyYXRlZDogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgQXQgbW9zdCBvbmUgb2YgZW1vamlfaWQgYW5kIGVtb2ppX25hbWUgbWF5IGJlIHNldC4gKi9cbiAgZW1vamlfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppIHtcbiAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gIGVtb2ppX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlDaGFubmVsIHtcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBjaGFubmVsIG5hbWUgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgY2hhbm5lbDsgb25seSBjb252ZXJzaW9uIGJldHdlZW4gdGV4dCBhbmQgbmV3cyBpcyBzdXBwb3J0ZWQgYW5kIG9ubHkgaW4gZ3VpbGRzIHdpdGggdGhlIFwiTkVXU1wiIGZlYXR1cmUgKi9cbiAgdHlwZT86IENoYW5uZWxUeXBlc1xuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsIGluIHRoZSBsZWZ0LWhhbmQgbGlzdGluZyAqL1xuICBwb3NpdGlvbj86IG51bWJlciB8IG51bGxcbiAgLyoqIDAtMTAyNCBjaGFyYWN0ZXIgY2hhbm5lbCB0b3BpYyAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBiaXRyYXRlIChpbiBiaXRzKSBvZiB0aGUgdm9pY2UgY2hhbm5lbDsgODAwMCB0byA5NjAwMCAoMTI4MDAwIGZvciBWSVAgc2VydmVycykgKi9cbiAgYml0cmF0ZT86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBjaGFubmVsOyAwIHJlZmVycyB0byBubyBsaW1pdCwgMSB0byA5OSByZWZlcnMgdG8gYSB1c2VyIGxpbWl0ICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBDaGFubmVsIG9yIGNhdGVnb3J5LXNwZWNpZmljIHBlcm1pc3Npb25zICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXSB8IG51bGxcbiAgLyoqIElkIG9mIHRoZSBuZXcgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVm9pY2UgcmVnaW9uIGlkIGZvciB0aGUgdm9pY2UgY2hhbm5lbCwgYXV0b21hdGljIHdoZW4gc2V0IHRvIG51bGwgKi9cbiAgcnRjX3JlZ2lvbj86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjYW1lcmEgdmlkZW8gcXVhbGl0eSBtb2RlIG9mIHRoZSB2b2ljZSBjaGFubmVsICovXG4gIHZpZGVvX3F1YWxpdHlfbW9kZT86IFZpZGVvUXVhbGl0eU1vZGVzXG4gIC8qKiBXaGV0aGVyIHRoZSB0aHJlYWQgaXMgYXJjaGl2ZWQgKi9cbiAgYXJjaGl2ZWQ/OiBib29sZWFuXG4gIC8qKiBEdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb24/OiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIFdoZW4gYSB0aHJlYWQgaXMgbG9ja2VkLCBvbmx5IHVzZXJzIHdpdGggYE1BTkFHRV9USFJFQURTYCBjYW4gdW5hcmNoaXZlIGl0ICovXG4gIGxvY2tlZD86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgbm9uLW1vZGVyYXRvcnMgY2FuIGFkZCBvdGhlciBub24tbW9kZXJhdG9ycyB0byBhIHRocmVhZDsgb25seSBhdmFpbGFibGUgb24gcHJpdmF0ZSB0aHJlYWRzICovXG4gIGludml0YWJsZT86IGJvb2xlYW5cbiAgLyoqIFRoZSBzZXQgb2YgdGFncyB0aGF0IGNhbiBiZSB1c2VkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBhdmFpbGFibGVfdGFncz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgICBpZDogc3RyaW5nXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gICAgbW9kZXJhdGVkOiBib29sZWFuXG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppIEF0IG1vc3Qgb25lIG9mIGVtb2ppX2lkIGFuZCBlbW9qaV9uYW1lIG1heSBiZSBzZXQuICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZTogc3RyaW5nXG4gIH0+XG4gIC8qKiBUaGUgSURzIG9mIHRoZSBzZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbDsgbGltaXRlZCB0byA1ICovXG4gIGFwcGxpZWRfdGFncz86IHN0cmluZ1tdXG4gIC8qKiB0aGUgZW1vamkgdG8gc2hvdyBpbiB0aGUgYWRkIHJlYWN0aW9uIGJ1dHRvbiBvbiBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgZGVmYXVsdF9yZWFjdGlvbl9lbW9qaT86IHtcbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgLyoqIHRoZSBpbml0aWFsIHJhdGVfbGltaXRfcGVyX3VzZXIgdG8gc2V0IG9uIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcyBpbiBhIGNoYW5uZWwuIHRoaXMgZmllbGQgaXMgY29waWVkIHRvIHRoZSB0aHJlYWQgYXQgY3JlYXRpb24gdGltZSBhbmQgZG9lcyBub3QgbGl2ZSB1cGRhdGUuICovXG4gIGRlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIGZvcnVtIGNoYW5uZWxzICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxuICAvKiogdGhlIGRlZmF1bHQgZm9ydW0gbGF5b3V0IHZpZXcgdXNlZCB0byBkaXNwbGF5IHBvc3RzIGluIGBHVUlMRF9GT1JVTWAgY2hhbm5lbHMuIERlZmF1bHRzIHRvIGAwYCwgd2hpY2ggaW5kaWNhdGVzIGEgbGF5b3V0IHZpZXcgaGFzIG5vdCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9mb3J1bV9sYXlvdXQ/OiBGb3J1bUxheW91dFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2Vtb2ppI2NyZWF0ZS1ndWlsZC1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlR3VpbGRFbW9qaSB7XG4gIC8qKiBOYW1lIG9mIHRoZSBlbW9qaSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSAxMjh4MTI4IGVtb2ppIGltYWdlLiBFbW9qaXMgYW5kIGFuaW1hdGVkIGVtb2ppcyBoYXZlIGEgbWF4aW11bSBmaWxlIHNpemUgb2YgMjU2a2IuIEF0dGVtcHRpbmcgdG8gdXBsb2FkIGFuIGVtb2ppIGxhcmdlciB0aGFuIHRoaXMgbGltaXQgd2lsbCBmYWlsIGFuZCByZXR1cm4gNDAwIEJhZCBSZXF1ZXN0IGFuZCBhbiBlcnJvciBtZXNzYWdlLCBidXQgbm90IGEgSlNPTiBzdGF0dXMgY29kZS4gSWYgYSBVUkwgaXMgcHJvdmlkZWQgdG8gdGhlIGltYWdlIHBhcmFtZXRlciwgRGlzY29yZGVubyB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCBpdCB0byBhIGJhc2U2NCBzdHJpbmcgaW50ZXJuYWxseS4gKi9cbiAgaW1hZ2U6IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjbW9kaWZ5LWd1aWxkLWVtb2ppICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZEVtb2ppIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFJvbGVzIGFsbG93ZWQgdG8gdXNlIHRoaXMgZW1vamkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXSB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlR3VpbGRDaGFubmVsIHtcbiAgLyoqIENoYW5uZWwgbmFtZSAoMS0xMDAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU/OiBDaGFubmVsVHlwZXNcbiAgLyoqIENoYW5uZWwgdG9waWMgKDAtMTAyNCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZ1xuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBjaGFubmVsICh2b2ljZSBvbmx5KSAqL1xuICBiaXRyYXRlPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlciBsaW1pdCBvZiB0aGUgdm9pY2UgY2hhbm5lbCAodm9pY2Ugb25seSkgKi9cbiAgdXNlcl9saW1pdD86IG51bWJlclxuICAvKiogQW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCk7IGJvdHMsIGFzIHdlbGwgYXMgdXNlcnMgd2l0aCB0aGUgcGVybWlzc2lvbiBgbWFuYWdlX21lc3NhZ2VzYCBvciBgbWFuYWdlX2NoYW5uZWxgLCBhcmUgdW5hZmZlY3RlZCAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgY2hhbm5lbCdzIHBlcm1pc3Npb24gb3ZlcndyaXRlcyAqL1xuICBwZXJtaXNzaW9uX292ZXJ3cml0ZXM/OiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgLyoqIElkIG9mIHRoZSBwYXJlbnQgY2F0ZWdvcnkgZm9yIGEgY2hhbm5lbCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogRGVmYXVsdCBkdXJhdGlvbiAoaW4gbWludXRlcykgdGhhdCBjbGllbnRzIChub3QgdGhlIEFQSSkgdXNlIGZvciBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gdGhpcyBjaGFubmVsLCB0byBkZXRlcm1pbmUgd2hlbiB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciB0aGUgbGFzdCBhY3Rpdml0eSAqL1xuICBkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IG51bWJlclxuICAvKiogRW1vamkgdG8gc2hvdyBpbiB0aGUgYWRkIHJlYWN0aW9uIGJ1dHRvbiBvbiBhIHRocmVhZCBpbiBhIGZvcnVtIGNoYW5uZWwgKi9cbiAgZGVmYXVsdF9yZWFjdGlvbl9lbW9qaT86IHtcbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkuIEV4YWN0bHkgb25lIG9mIGBlbW9qaUlkYCBhbmQgYGVtb2ppTmFtZWAgbXVzdCBiZSBzZXQuICovXG4gICAgZW1vamlfaWQ/OiBzdHJpbmcgfCBudWxsXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkuIEV4YWN0bHkgb25lIG9mIGBlbW9qaUlkYCBhbmQgYGVtb2ppTmFtZWAgbXVzdCBiZSBzZXQuICovXG4gICAgZW1vamlfbmFtZT86IHN0cmluZyB8IG51bGxcbiAgfVxuICAvKiogU2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGZvcnVtIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBBcnJheTx7XG4gICAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gICAgaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gICAgbmFtZTogc3RyaW5nXG4gICAgLyoqIHdoZXRoZXIgdGhpcyB0YWcgY2FuIG9ubHkgYmUgYWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRocmVhZHMgYnkgYSBtZW1iZXIgd2l0aCB0aGUgTUFOQUdFX1RIUkVBRFMgcGVybWlzc2lvbiAqL1xuICAgIG1vZGVyYXRlZDogYm9vbGVhblxuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU/OiBzdHJpbmdcbiAgfT5cbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIGZvcnVtIGNoYW5uZWxzICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVNZXNzYWdlIHtcbiAgLyoqIFRoZSBtZXNzYWdlIGNvbnRlbnRzICh1cCB0byAyMDAwIGNoYXJhY3RlcnMpICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIENhbiBiZSB1c2VkIHRvIHZlcmlmeSBhIG1lc3NhZ2Ugd2FzIHNlbnQgKHVwIHRvIDI1IGNoYXJhY3RlcnMpLiBWYWx1ZSB3aWxsIGFwcGVhciBpbiB0aGUgTWVzc2FnZSBDcmVhdGUgZXZlbnQuICovXG4gIG5vbmNlPzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKiB0cnVlIGlmIHRoaXMgaXMgYSBUVFMgbWVzc2FnZSAqL1xuICB0dHM/OiBib29sZWFuXG4gIC8qKiBFbWJlZGRlZCBgcmljaGAgY29udGVudCAodXAgdG8gNjAwMCBjaGFyYWN0ZXJzKSAqL1xuICBlbWJlZHM/OiBEaXNjb3JkRW1iZWRbXVxuICAvKiogQWxsb3dlZCBtZW50aW9ucyBmb3IgdGhlIG1lc3NhZ2UgKi9cbiAgYWxsb3dlZF9tZW50aW9ucz86IERpc2NvcmRBbGxvd2VkTWVudGlvbnNcbiAgLyoqIEluY2x1ZGUgdG8gbWFrZSB5b3VyIG1lc3NhZ2UgYSByZXBseSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IHtcbiAgICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UgKi9cbiAgICBtZXNzYWdlX2lkPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBjaGFubmVsXG4gICAgICogTm90ZTogYGNoYW5uZWxfaWRgIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuXG4gICAgICovXG4gICAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAgIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGd1aWxkICovXG4gICAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgICAvKiogV2hlbiBzZW5kaW5nLCB3aGV0aGVyIHRvIGVycm9yIGlmIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgZG9lc24ndCBleGlzdCBpbnN0ZWFkIG9mIHNlbmRpbmcgYXMgYSBub3JtYWwgKG5vbi1yZXBseSkgbWVzc2FnZSwgZGVmYXVsdCB0cnVlICovXG4gICAgZmFpbF9pZl9ub3RfZXhpc3RzOiBib29sZWFuXG4gIH1cbiAgLyoqIFRoZSBjb21wb25lbnRzIHlvdSB3b3VsZCBsaWtlIHRvIGhhdmUgc2VudCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogSURzIG9mIHVwIHRvIDMgc3RpY2tlcnMgaW4gdGhlIHNlcnZlciB0byBzZW5kIGluIHRoZSBtZXNzYWdlICovXG4gIHN0aWNrZXJJZHM/OiBbc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtb2RpZnktZ3VpbGQtd2VsY29tZS1zY3JlZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbiB7XG4gIC8qKiBXaGV0aGVyIHRoZSB3ZWxjb21lIHNjcmVlbiBpcyBlbmFibGVkICovXG4gIGVuYWJsZWQ/OiBib29sZWFuIHwgbnVsbFxuICAvKiogQ2hhbm5lbHMgbGlua2VkIGluIHRoZSB3ZWxjb21lIHNjcmVlbiBhbmQgdGhlaXIgZGlzcGxheSBvcHRpb25zICovXG4gIHdlbGNvbWVfc2NyZWVuPzogRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsW10gfCBudWxsXG4gIC8qKiBUaGUgc2VydmVyIGRlc2NyaXB0aW9uIHRvIHNob3cgaW4gdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb2xsb3dBbm5vdW5jZW1lbnRDaGFubmVsIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB0byBzZW5kIGFubm91bmNlbWVudHMgdG8uICovXG4gIHdlYmhvb2tfY2hhbm5lbF9pZDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlc09wdGlvbnMge1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGFsbG93OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55OiBzdHJpbmdcbiAgLyoqIEVpdGhlciAwIChyb2xlKSBvciAxIChtZW1iZXIpICovXG4gIHR5cGU6IE92ZXJ3cml0ZVR5cGVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjbW9kaWZ5LWd1aWxkLWNoYW5uZWwtcG9zaXRpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnMge1xuICAvKiogQ2hhbm5lbCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbFxuICAvKiogU3luY3MgdGhlIHBlcm1pc3Npb24gb3ZlcndyaXRlcyB3aXRoIHRoZSBuZXcgcGFyZW50LCBpZiBtb3ZpbmcgdG8gYSBuZXcgY2F0ZWdvcnkgKi9cbiAgbG9ja19wb3NpdGlvbnM/OiBib29sZWFuIHwgbnVsbFxuICAvKiogVGhlIG5ldyBwYXJlbnQgSUQgZm9yIHRoZSBjaGFubmVsIHRoYXQgaXMgbW92ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVXZWJob29rIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHdlYmhvb2sgKDEtODAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJbWFnZSB1cmwgZm9yIHRoZSBkZWZhdWx0IHdlYmhvb2sgYXZhdGFyICovXG4gIGF2YXRhcj86IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI3N0YXJ0LXRocmVhZC1pbi1mb3J1bS1jaGFubmVsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hhbm5lbCBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogZHVyYXRpb24gaW4gbWludXRlcyB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciByZWNlbnQgYWN0aXZpdHksIGNhbiBiZSBzZXQgdG86IDYwLCAxNDQwLCA0MzIwLCAxMDA4MCAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb24/OiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIGFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIGNvbnRlbnRzIG9mIHRoZSBmaXJzdCBtZXNzYWdlIGluIHRoZSBmb3J1bSB0aHJlYWQgKi9cbiAgbWVzc2FnZToge1xuICAgIC8qKiBNZXNzYWdlIGNvbnRlbnRzICh1cCB0byAyMDAwIGNoYXJhY3RlcnMpICovXG4gICAgY29udGVudD86IHN0cmluZ1xuICAgIC8qKiBFbWJlZGRlZCByaWNoIGNvbnRlbnQgKHVwIHRvIDYwMDAgY2hhcmFjdGVycykgKi9cbiAgICBlbWJlZHM/OiBEaXNjb3JkRW1iZWRbXVxuICAgIC8qKiBBbGxvd2VkIG1lbnRpb25zIGZvciB0aGUgbWVzc2FnZSAqL1xuICAgIGFsbG93ZWRfbWVudGlvbnM/OiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zW11cbiAgICAvKiogQ29tcG9uZW50cyB0byBpbmNsdWRlIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzW11cbiAgICAvKiogSURzIG9mIHVwIHRvIDMgc3RpY2tlcnMgaW4gdGhlIHNlcnZlciB0byBzZW5kIGluIHRoZSBtZXNzYWdlICovXG4gICAgc3RpY2tlcl9pZHM/OiBzdHJpbmdbXVxuICAgIC8qKiBKU09OLWVuY29kZWQgYm9keSBvZiBub24tZmlsZSBwYXJhbXMsIG9ubHkgZm9yIG11bHRpcGFydC9mb3JtLWRhdGEgcmVxdWVzdHMuIFNlZSB7QGxpbmsgaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI3VwbG9hZGluZy1maWxlcyBVcGxvYWRpbmcgRmlsZXN9ICovXG4gICAgcGF5bG9hZF9qc29uPzogc3RyaW5nXG4gICAgLyoqIEF0dGFjaG1lbnQgb2JqZWN0cyB3aXRoIGZpbGVuYW1lIGFuZCBkZXNjcmlwdGlvbi4gU2VlIHtAbGluayBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjdXBsb2FkaW5nLWZpbGVzIFVwbG9hZGluZyBGaWxlc30gKi9cbiAgICBhdHRhY2htZW50cz86IERpc2NvcmRBdHRhY2htZW50W11cbiAgICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkLCBvbmx5IFNVUFBSRVNTX0VNQkVEUyBjYW4gYmUgc2V0ICovXG4gICAgZmxhZ3M/OiBEaXNjb3JkTWVzc2FnZUZsYWdcbiAgfVxuICAvKiogdGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZEFyY2hpdmVkVGhyZWFkcyA9IERpc2NvcmRBY3RpdmVUaHJlYWRzICYge1xuICBoYXNNb3JlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2ZVRocmVhZHMge1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRWYW5pdHlVcmwge1xuICBjb2RlOiBzdHJpbmcgfCBudWxsXG4gIHVzZXM6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQcnVuZWRDb3VudCB7XG4gIHBydW5lZDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtZ3VpbGQtb25ib2FyZGluZy1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZyB7XG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQgdGhpcyBvbmJvYXJkaW5nIGlzIHBhcnQgb2YgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogUHJvbXB0cyBzaG93biBkdXJpbmcgb25ib2FyZGluZyBhbmQgaW4gY3VzdG9taXplIGNvbW11bml0eSAqL1xuICBwcm9tcHRzOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0W11cbiAgLyoqIENoYW5uZWwgSURzIHRoYXQgbWVtYmVycyBnZXQgb3B0ZWQgaW50byBhdXRvbWF0aWNhbGx5ICovXG4gIGRlZmF1bHRfY2hhbm5lbF9pZHM6IHN0cmluZ1tdXG4gIC8qKiBXaGV0aGVyIG9uYm9hcmRpbmcgaXMgZW5hYmxlZCBpbiB0aGUgZ3VpbGQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogQ3VycmVudCBtb2RlIG9mIG9uYm9hcmRpbmcgKi9cbiAgbW9kZTogRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1vbmJvYXJkaW5nLXByb21wdC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCB7XG4gIC8qKiBJRCBvZiB0aGUgcHJvbXB0ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgcHJvbXB0ICovXG4gIHR5cGU6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlXG4gIC8qKiBPcHRpb25zIGF2YWlsYWJsZSB3aXRoaW4gdGhlIHByb21wdCAqL1xuICBvcHRpb25zOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uW11cbiAgLyoqIFRpdGxlIG9mIHRoZSBwcm9tcHQgKi9cbiAgdGl0bGU6IHN0cmluZ1xuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gc2VsZWN0aW5nIG9uZSBvcHRpb24gZm9yIHRoZSBwcm9tcHQgKi9cbiAgc2luZ2xlX3NlbGVjdDogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHByb21wdCBpcyByZXF1aXJlZCBiZWZvcmUgYSB1c2VyIGNvbXBsZXRlcyB0aGUgb25ib2FyZGluZyBmbG93ICovXG4gIHJlcXVpcmVkOiBib29sZWFuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvbXB0IGlzIHByZXNlbnQgaW4gdGhlIG9uYm9hcmRpbmcgZmxvdy4gSWYgYGZhbHNlYCwgdGhlIHByb21wdCB3aWxsIG9ubHkgYXBwZWFyIGluIHRoZSBDaGFubmVscyAmIFJvbGVzIHRhYiAqL1xuICBpbl9vbmJvYXJkaW5nOiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtcHJvbXB0LW9wdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB7XG4gIC8qKiBJRCBvZiB0aGUgcHJvbXB0IG9wdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJRHMgZm9yIGNoYW5uZWxzIGEgbWVtYmVyIGlzIGFkZGVkIHRvIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCAqL1xuICBjaGFubmVsX2lkczogc3RyaW5nW11cbiAgLyoqIElEcyBmb3Igcm9sZXMgYXNzaWduZWQgdG8gYSBtZW1iZXIgd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkICovXG4gIHJvbGVfaWRzOiBzdHJpbmdbXVxuICAvKipcbiAgICogRW1vamkgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaT86IERpc2NvcmRFbW9qaVxuICAvKipcbiAgICogRW1vamkgSUQgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaV9pZD86IHN0cmluZ1xuICAvKipcbiAgICogRW1vamkgbmFtZSBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX25hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX2FuaW1hdGVkPzogYm9vbGVhblxuICAvKiogVGl0bGUgb2YgdGhlIG9wdGlvbiAqL1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBEZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1wcm9tcHQtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlIHtcbiAgTXVsdGlwbGVDaG9pY2UsXG4gIERyb3BEb3duLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LW9uYm9hcmRpbmctbW9kZSAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGUge1xuICAvKiogQ291bnRzIG9ubHkgRGVmYXVsdCBDaGFubmVscyB0b3dhcmRzIGNvbnN0cmFpbnRzICovXG4gIE9uYm9hcmRpbmdEZWZhdWx0LFxuICAvKiogQ291bnRzIERlZmF1bHQgQ2hhbm5lbHMgYW5kIFF1ZXN0aW9ucyB0b3dhcmRzIGNvbnN0cmFpbnRzICovXG4gIE9uYm9hcmRpbmdBZHZhbmNlZCxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy90ZWFtcyN0ZWFtLW1lbWJlci1yb2xlcy10ZWFtLW1lbWJlci1yb2xlLXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkVGVhbU1lbWJlclJvbGUge1xuICAvKiogT3duZXJzIGFyZSB0aGUgbW9zdCBwZXJtaXNzaWFibGUgcm9sZSwgYW5kIGNhbiB0YWtlIGRlc3RydWN0aXZlLCBpcnJldmVyc2libGUgYWN0aW9ucyBsaWtlIGRlbGV0aW5nIHRoZSB0ZWFtIGl0c2VsZi4gVGVhbXMgYXJlIGxpbWl0ZWQgdG8gMSBvd25lci4gKi9cbiAgT3duZXIgPSAnb3duZXInLFxuICAvKiogQWRtaW5zIGhhdmUgc2ltaWxhciBhY2Nlc3MgYXMgb3duZXJzLCBleGNlcHQgdGhleSBjYW5ub3QgdGFrZSBkZXN0cnVjdGl2ZSBhY3Rpb25zIG9uIHRoZSB0ZWFtIG9yIHRlYW0tb3duZWQgYXBwcy4gKi9cbiAgQWRtaW4gPSAnYWRtaW4nLFxuICAvKipcbiAgICogRGV2ZWxvcGVycyBjYW4gYWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IHRlYW0tb3duZWQgYXBwcywgbGlrZSB0aGUgY2xpZW50IHNlY3JldCBvciBwdWJsaWMga2V5LlxuICAgKiBUaGV5IGNhbiBhbHNvIHRha2UgbGltaXRlZCBhY3Rpb25zIG9uIHRlYW0tb3duZWQgYXBwcywgbGlrZSBjb25maWd1cmluZyBpbnRlcmFjdGlvbiBlbmRwb2ludHMgb3IgcmVzZXR0aW5nIHRoZSBib3QgdG9rZW4uXG4gICAqIE1lbWJlcnMgd2l0aCB0aGUgRGV2ZWxvcGVyIHJvbGUgKmNhbm5vdCogbWFuYWdlIHRoZSB0ZWFtIG9yIGl0cyBtZW1iZXJzLCBvciB0YWtlIGRlc3RydWN0aXZlIGFjdGlvbnMgb24gdGVhbS1vd25lZCBhcHBzLlxuICAgKi9cbiAgRGV2ZWxvcGVyID0gJ2RldmVsb3BlcicsXG4gIC8qKiBSZWFkLW9ubHkgbWVtYmVycyBjYW4gYWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IGEgdGVhbSBhbmQgYW55IHRlYW0tb3duZWQgYXBwcy4gU29tZSBleGFtcGxlcyBpbmNsdWRlIGdldHRpbmcgdGhlIElEcyBvZiBhcHBsaWNhdGlvbnMgYW5kIGV4cG9ydGluZyBwYXlvdXQgcmVjb3Jkcy4gKi9cbiAgUmVhZE9ubHkgPSAncmVhZF9vbmx5Jyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9lbnRpdGxlbWVudHMjZW50aXRsZW1lbnQtb2JqZWN0LWVudGl0bGVtZW50LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW50aXRsZW1lbnQge1xuICAvKiogSUQgb2YgdGhlIGVudGl0bGVtZW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSB1c2VyIHRoYXQgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gdGhlIGVudGl0bGVtZW50J3Mgc2t1ICovXG4gIHVzZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCB0aGF0IGlzIGdyYW50ZWQgYWNjZXNzIHRvIHRoZSBlbnRpdGxlbWVudCdzIHNrdSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVudGl0bGVtZW50ICovXG4gIHR5cGU6IERpc2NvcmRFbnRpdGxlbWVudFR5cGVcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBkZWxldGVkICovXG4gIGRlbGV0ZWQ6IGJvb2xlYW5cbiAgLyoqIFN0YXJ0IGRhdGUgYXQgd2hpY2ggdGhlIGVudGl0bGVtZW50IGlzIHZhbGlkLiBOb3QgcHJlc2VudCB3aGVuIHVzaW5nIHRlc3QgZW50aXRsZW1lbnRzICovXG4gIHN0YXJ0c19hdD86IHN0cmluZ1xuICAvKiogRGF0ZSBhdCB3aGljaCB0aGUgZW50aXRsZW1lbnQgaXMgbm8gbG9uZ2VyIHZhbGlkLiBOb3QgcHJlc2VudCB3aGVuIHVzaW5nIHRlc3QgZW50aXRsZW1lbnRzICovXG4gIGVuZHNfYXQ/OiBzdHJpbmdcbiAgLyoqIEZvciBjb25zdW1hYmxlIGl0ZW1zLCB3aGV0aGVyIG9yIG5vdCB0aGUgZW50aXRsZW1lbnQgaGFzIGJlZW4gY29uc3VtZWQgKi9cbiAgY29uc3VtZWQ/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vZW50aXRsZW1lbnRzI2VudGl0bGVtZW50LW9iamVjdC1lbnRpdGxlbWVudC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEVudGl0bGVtZW50VHlwZSB7XG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGJ5IHVzZXIgKi9cbiAgUHVyY2hhc2UgPSAxLFxuICAvKiogRW50aXRsZW1lbnQgZm9yIERpc2NvcmQgTml0cm8gc3Vic2NyaXB0aW9uICovXG4gIFByZW1pdW1TdWJzY3JpcHRpb24gPSAyLFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdpZnRlZCBieSBkZXZlbG9wZXIgKi9cbiAgRGV2ZWxvcGVyR2lmdCA9IDMsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGJ5IGEgZGV2IGluIGFwcGxpY2F0aW9uIHRlc3QgbW9kZSAqL1xuICBUZXN0TW9kZVB1cmNoYXNlID0gNCxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBncmFudGVkIHdoZW4gdGhlIFNLVSB3YXMgZnJlZSAqL1xuICBGcmVlUHVyY2hhc2UgPSA1LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdpZnRlZCBieSBhbm90aGVyIHVzZXIgKi9cbiAgVXNlckdpZnQgPSA2LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGNsYWltZWQgYnkgdXNlciBmb3IgZnJlZSBhcyBhIE5pdHJvIFN1YnNjcmliZXIgKi9cbiAgUHJlbWl1bVB1cmNoYXNlID0gNyxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYXMgYW4gYXBwIHN1YnNjcmlwdGlvbiAqL1xuICBBcHBsaWNhdGlvblN1YnNjcmlwdGlvbiA9IDgsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vc2t1cyNza3Utb2JqZWN0LXNrdS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNrdSB7XG4gIC8qKiBJRCBvZiBTS1UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBTS1UgKi9cbiAgdHlwZTogRGlzY29yZFNrdVR5cGVcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogQ3VzdG9tZXItZmFjaW5nIG5hbWUgb2YgeW91ciBwcmVtaXVtIG9mZmVyaW5nICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogU3lzdGVtLWdlbmVyYXRlZCBVUkwgc2x1ZyBiYXNlZCBvbiB0aGUgU0tVJ3MgbmFtZSAqL1xuICBzbHVnOiBzdHJpbmdcbiAgLyoqIFNLVSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBEaXNjb3JkU2t1RmxhZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL3NrdXMjc2t1LW9iamVjdC1za3UtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRTa3VUeXBlIHtcbiAgLyoqIER1cmFibGUgb25lLXRpbWUgcHVyY2hhc2UgKi9cbiAgRHVyYWJsZSA9IDIsXG4gIC8qKiBDb25zdW1hYmxlIG9uZS10aW1lIHB1cmNoYXNlICovXG4gIENvbnN1bWFibGUgPSAzLFxuICAvKiogUmVwcmVzZW50cyBhIHJlY3VycmluZyBzdWJzY3JpcHRpb24gKi9cbiAgU3Vic2NyaXB0aW9uID0gNSxcbiAgLyoqIFN5c3RlbS1nZW5lcmF0ZWQgZ3JvdXAgZm9yIGVhY2ggU1VCU0NSSVBUSU9OIFNLVSBjcmVhdGVkICovXG4gIFN1YnNjcmlwdGlvbkdyb3VwID0gNixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9za3VzI3NrdS1vYmplY3Qtc2t1LWZsYWdzICovXG5leHBvcnQgZW51bSBEaXNjb3JkU2t1RmxhZyB7XG4gIC8qKiBTS1UgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZSAqL1xuICBBdmFpbGFibGUgPSAxIDw8IDIsXG4gIC8qKiBSZWN1cnJpbmcgU0tVIHRoYXQgY2FuIGJlIHB1cmNoYXNlZCBieSBhIHVzZXIgYW5kIGFwcGxpZWQgdG8gYSBzaW5nbGUgc2VydmVyLiBHcmFudHMgYWNjZXNzIHRvIGV2ZXJ5IHVzZXIgaW4gdGhhdCBzZXJ2ZXIuICovXG4gIEd1aWxkU3Vic2NyaXB0aW9uID0gMSA8PCA3LFxuICAvKiogUmVjdXJyaW5nIFNLVSBwdXJjaGFzZWQgYnkgYSB1c2VyIGZvciB0aGVtc2VsdmVzLiBHcmFudHMgYWNjZXNzIHRvIHRoZSBwdXJjaGFzaW5nIHVzZXIgaW4gZXZlcnkgc2VydmVyLiAqL1xuICBVc2VyU3Vic2NyaXB0aW9uID0gMSA8PCA4LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QtbWVzc2FnZS1mbGFncyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZE1lc3NhZ2VGbGFnIHtcbiAgLyoqIFRoaXMgbWVzc2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQgdG8gc3Vic2NyaWJlZCBjaGFubmVscyAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBDcm9zc3Bvc3RlZCA9IDEgPDwgMCxcbiAgLyoqIFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYSBtZXNzYWdlIGluIGFub3RoZXIgY2hhbm5lbCAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBJc0Nyb3NzcG9zdCA9IDEgPDwgMSxcbiAgLyoqIERvIG5vdCBpbmNsdWRlIGFueSBlbWJlZHMgd2hlbiBzZXJpYWxpemluZyB0aGlzIG1lc3NhZ2UgKi9cbiAgU3VwcHJlc3NFbWJlZHMgPSAxIDw8IDIsXG4gIC8qKiBUaGUgc291cmNlIG1lc3NhZ2UgZm9yIHRoaXMgY3Jvc3Nwb3N0IGhhcyBiZWVuIGRlbGV0ZWQgKHZpYSBDaGFubmVsIEZvbGxvd2luZykgKi9cbiAgU291cmNlTWVzc2FnZURlbGV0ZWQgPSAxIDw8IDMsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgY2FtZSBmcm9tIHRoZSB1cmdlbnQgbWVzc2FnZSBzeXN0ZW0gKi9cbiAgVXJnZW50ID0gMSA8PCA0LFxuICAvKiogVGhpcyBtZXNzYWdlIGhhcyBhbiBhc3NvY2lhdGVkIHRocmVhZCwgd2l0aCB0aGUgc2FtZSBpZCBhcyB0aGUgbWVzc2FnZSAqL1xuICBIYXNUaHJlYWQgPSAxIDw8IDUsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgaXMgb25seSB2aXNpYmxlIHRvIHRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBJbnRlcmFjdGlvbiAqL1xuICBFcGhlbWVyYWwgPSAxIDw8IDYsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgaXMgYW4gSW50ZXJhY3Rpb24gUmVzcG9uc2UgYW5kIHRoZSBib3QgaXMgXCJ0aGlua2luZ1wiICovXG4gIExvYWRpbmcgPSAxIDw8IDcsXG4gIC8qKiBUaGlzIG1lc3NhZ2UgZmFpbGVkIHRvIG1lbnRpb24gc29tZSByb2xlcyBhbmQgYWRkIHRoZWlyIG1lbWJlcnMgdG8gdGhlIHRocmVhZCAqL1xuICBGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCA9IDEgPDwgOCxcbiAgLyoqIFRoaXMgbWVzc2FnZSB3aWxsIG5vdCB0cmlnZ2VyIHB1c2ggYW5kIGRlc2t0b3Agbm90aWZpY2F0aW9ucyAqL1xuICBTdXBwcmVzc05vdGlmaWNhdGlvbnMgPSAxIDw8IDEyLFxuICAvKiogVGhpcyBtZXNzYWdlIGlzIGEgdm9pY2UgbWVzc2FnZSAqL1xuICBJc1ZvaWNlTWVzc2FnZSA9IDEgPDwgMTMsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLW9iamVjdC1pbnRlcmFjdGlvbi1jb250ZXh0LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZSB7XG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gc2VydmVycyAqL1xuICBHdWlsZCA9IDAsXG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gRE1zIHdpdGggdGhlIGFwcCdzIGJvdCB1c2VyICovXG4gIEJvdERtID0gMSxcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBHcm91cCBETXMgYW5kIERNcyBvdGhlciB0aGFuIHRoZSBhcHAncyBib3QgdXNlciAqL1xuICBQcml2YXRlQ2hhbm5lbCA9IDIsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYnVsay1ndWlsZC1iYW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1bGtCYW4ge1xuICAvKiogbGlzdCBvZiB1c2VyIGlkcywgdGhhdCB3ZXJlIHN1Y2Nlc3NmdWxseSBiYW5uZWQgKi9cbiAgYmFubmVkX3VzZXJzOiBzdHJpbmdbXVxuICAvKiogbGlzdCBvZiB1c2VyIGlkcywgdGhhdCB3ZXJlIG5vdCBiYW5uZWQgKi9cbiAgZmFpbGVkX3VzZXJzOiBzdHJpbmdbXVxufVxuIl0sIm5hbWVzIjpbIk9BdXRoMlNjb3BlIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiRGlzY29yZENvbm5lY3Rpb25TZXJ2aWNlVHlwZSIsIkRpc2NvcmRDb25uZWN0aW9uVmlzaWJpbGl0eSIsIkRpc2NvcmRQb2xsTGF5b3V0VHlwZSIsIkF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlcyIsIkF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzIiwiRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHMiLCJBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUiLCJEaXNjb3JkSW52aXRlVHlwZSIsIkRpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlIiwiRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGUiLCJEaXNjb3JkVGVhbU1lbWJlclJvbGUiLCJEaXNjb3JkRW50aXRsZW1lbnRUeXBlIiwiRGlzY29yZFNrdVR5cGUiLCJEaXNjb3JkU2t1RmxhZyIsIkRpc2NvcmRNZXNzYWdlRmxhZyIsIkRpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBcUZZQTtJQUNWOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxpRUFBaUU7SUFFakU7Ozs7O0dBS0M7SUFFRCwwRkFBMEY7SUFFMUY7Ozs7O0dBS0M7SUFFRCxnR0FBZ0c7SUFFaEcsbUVBQW1FO0lBRW5FLHVIQUF1SDtJQUV2SCwrRUFBK0U7SUFFL0UseUhBQXlIO0lBRXpIOzs7OztHQUtDO0lBRUQsZ0hBQWdIO0lBRWhILGdEQUFnRDtJQUVoRCx1SEFBdUg7SUFFdkgsb0lBQW9JO0lBRXBJLCtJQUErSTtJQUUvSTs7Ozs7O0dBTUM7SUFFRDs7O0dBR0M7SUFFRDs7Ozs7R0FLQztJQUVELDJFQUEyRTtJQUUzRTs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxrR0FBa0c7R0E1SHhGQSxnQkFBQUE7O1VBZ1ZBQztJQUNWLGtDQUFrQztJQUVsQyxnQ0FBZ0M7R0FIdEJBLHNDQUFBQTs7VUFnR0FDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBQUFBLGlDQUFBQTs7VUF5QkFDO0lBQ1YscURBQXFEO0lBRXJELHdCQUF3QjtHQUhkQSxnQ0FBQUE7O1VBNDZCQUM7SUFDVix1QkFBdUI7R0FEYkEsMEJBQUFBOztVQWljQUM7SUFDVixnQ0FBZ0M7R0FEdEJBLDZCQUFBQTs7VUFLQUM7Ozs7OztHQUFBQSwrQkFBQUE7O1VBdUJBQztJQUNWLDhEQUE4RDtJQUU5RCwrREFBK0Q7SUFFL0QsaUVBQWlFO0dBTHZEQSxvREFBQUE7O1VBZ0JBQztJQUNWLDBEQUEwRDtJQUUxRCw2Q0FBNkM7SUFFN0MsMENBQTBDO0dBTGhDQSw2QkFBQUE7O1VBbVZBQzs7OztHQUFBQSxzQkFBQUE7O1VBKzhCQUM7OztHQUFBQSxxQ0FBQUE7O1VBTUFDO0lBQ1YscURBQXFEO0lBRXJELDhEQUE4RDtHQUhwREEsK0JBQUFBOztVQVFBQztJQUNWLHVKQUF1SjtJQUV2SixzSEFBc0g7SUFFdEg7Ozs7R0FJQztJQUVELHVLQUF1SztHQVg3SkEsMEJBQUFBOztVQXdDQUM7SUFDVixzQ0FBc0M7SUFFdEMsK0NBQStDO0lBRS9DLHdDQUF3QztJQUV4QyxnRUFBZ0U7SUFFaEUsa0RBQWtEO0lBRWxELDJDQUEyQztJQUUzQyxtRUFBbUU7SUFFbkUscURBQXFEO0dBZjNDQSwyQkFBQUE7O1VBb0NBQztJQUNWLDhCQUE4QjtJQUU5QixpQ0FBaUM7SUFFakMsd0NBQXdDO0lBRXhDLDZEQUE2RDtHQVBuREEsbUJBQUFBOztVQVlBQztJQUNWLGtDQUFrQztJQUVsQyw4SEFBOEg7SUFFOUgsNEdBQTRHO0dBTGxHQSxtQkFBQUE7O1VBVUFDO0lBQ1YsbUZBQW1GO0lBRW5GLHNGQUFzRjtJQUV0Riw0REFBNEQ7SUFFNUQsbUZBQW1GO0lBRW5GLHFEQUFxRDtJQUVyRCwyRUFBMkU7SUFFM0UseUVBQXlFO0lBRXpFLHNFQUFzRTtJQUV0RSxrRkFBa0Y7SUFFbEYsaUVBQWlFO0lBRWpFLG9DQUFvQztHQXJCMUJBLHVCQUFBQTs7VUEwQkFDO0lBQ1YsMkNBQTJDO0lBRTNDLCtEQUErRDtJQUUvRCxtRkFBbUY7R0FMekVBLGtDQUFBQSJ9