@effect-aws/client-rds 1.1.0 → 1.2.0

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.
@@ -243,4 +243,4 @@ export const RDSServiceLayer = BaseRDSServiceLayer.pipe(Layer.provide(RDSClientI
243
243
  * @deprecated use RDS.defaultLayer instead
244
244
  */
245
245
  export const DefaultRDSServiceLayer = RDSService.defaultLayer;
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SRFNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLDBCQUEwQixFQUcxQix3Q0FBd0MsRUFHeEMsd0JBQXdCLEVBR3hCLG9DQUFvQyxFQUdwQyxzQ0FBc0MsRUFHdEMseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2QixrQ0FBa0MsRUFHbEMsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsc0JBQXNCLEVBR3RCLGdDQUFnQyxFQUdoQyxrQ0FBa0MsRUFHbEMsc0JBQXNCLEVBR3RCLDhCQUE4QixFQUc5QixvQ0FBb0MsRUFHcEMsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixrQ0FBa0MsRUFHbEMsNkJBQTZCLEVBRzdCLG9CQUFvQixFQUdwQiw0QkFBNEIsRUFHNUIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IsZ0NBQWdDLEVBR2hDLGtDQUFrQyxFQUdsQyxzQkFBc0IsRUFHdEIscUNBQXFDLEVBR3JDLDhCQUE4QixFQUc5QixvQ0FBb0MsRUFHcEMsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixzQ0FBc0MsRUFHdEMsNkJBQTZCLEVBRzdCLG9CQUFvQixFQUdwQiw0QkFBNEIsRUFHNUIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IsK0JBQStCLEVBRy9CLGdDQUFnQyxFQUdoQyxtQ0FBbUMsRUFHbkMsMkJBQTJC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U1NlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgUkRTQ2xpZW50LFxuICB0eXBlIFJEU0NsaWVudENvbmZpZyxcbiAgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBBZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kLFxuICB0eXBlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5REJDbHVzdGVyU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ29weURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5T3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQcm94eUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQcm94eUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgdHlwZSBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0Q2x1c3RlclBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZCxcbiAgdHlwZSBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICB0eXBlIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kLFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3REQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgUmVib290REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJvb3REQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlclRvUG9pbnRJblRpbWVDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIHR5cGUgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN0YXJ0REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBTdGFydEV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZCxcbiAgdHlwZSBTdG9wQWN0aXZpdHlTdHJlYW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgU3RvcERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICB0eXBlIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTd2l0Y2hvdmVyUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1yZHNcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEJsdWVHcmVlbkRlcGxveW1lbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IsXG4gIEN1c3RvbUF2YWlsYWJpbGl0eVpvbmVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEN1c3RvbURCRW5naW5lVmVyc2lvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQmFja3RyYWNrTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJFbmRwb2ludE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlclJvbGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VSb2xlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkxvZ0ZpbGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUHJveHlFbmRwb2ludFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlByb3h5UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXRBbHJlYWR5UmVnaXN0ZXJlZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQcm94eVRhcmdldE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvcixcbiAgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCVXBncmFkZURlcGVuZGVuY3lGYWlsdXJlRmF1bHRFcnJvcixcbiAgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yLFxuICBFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEV4cG9ydFRhc2tOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvcixcbiAgR2xvYmFsQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBJYW1Sb2xlTWlzc2luZ1Blcm1pc3Npb25zRmF1bHRFcnJvcixcbiAgSWFtUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgSW5zdWZmaWNpZW50QXZhaWxhYmxlSVBzSW5TdWJuZXRGYXVsdEVycm9yLFxuICBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvbkNvbmZsaWN0T3BlcmF0aW9uRmF1bHRFcnJvcixcbiAgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEludGVncmF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUHJveHlFbmRwb2ludFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNoYXJkR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3IsXG4gIEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEV4cG9ydE9ubHlGYXVsdEVycm9yLFxuICBJbnZhbGlkRXhwb3J0U291cmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkRXhwb3J0VGFza1N0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRJbnRlZ3JhdGlvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkUmVzb3VyY2VTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRSZXN0b3JlRmF1bHRFcnJvcixcbiAgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvcixcbiAgSW52YWxpZFN1Ym5ldEVycm9yLFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvcixcbiAgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3IsXG4gIE1heERCU2hhcmRHcm91cExpbWl0UmVhY2hlZEVycm9yLFxuICBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yLFxuICBPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEZhdWx0RXJyb3IsXG4gIFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yLFxuICBSZXNlcnZlZERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU05TSW52YWxpZFRvcGljRmF1bHRFcnJvcixcbiAgU05TTm9BdXRob3JpemF0aW9uRmF1bHRFcnJvcixcbiAgU05TVG9waWNBcm5Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNoYXJlZFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNvdXJjZUNsdXN0ZXJOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBTb3VyY2VEYXRhYmFzZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IsXG4gIFNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTdG9yYWdlVHlwZU5vdEF2YWlsYWJsZUZhdWx0RXJyb3IsXG4gIFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgU3VibmV0QWxyZWFkeUluVXNlRXJyb3IsXG4gIFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEZhdWx0RXJyb3IsXG4gIFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBTdWJzY3JpcHRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIFRlbmFudERhdGFiYXNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgUkRTQ2xpZW50SW5zdGFuY2UsIFJEU0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9SRFNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBSRFNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vUkRTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kLFxuICBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZCxcbiAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmQsXG4gIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kLFxuICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDb3B5REJTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlPcHRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZCxcbiAgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIENyZWF0ZURCUHJveHlDb21tYW5kLFxuICBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmQsXG4gIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVEQkluc3RhbmNlQ29tbWFuZCxcbiAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBEZWxldGVEQlByb3h5Q29tbWFuZCxcbiAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kLFxuICBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kLFxuICBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kLFxuICBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJMb2dGaWxlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc0NvbW1hbmQsXG4gIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZCxcbiAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kLFxuICBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kLFxuICBEZXNjcmliZVRlbmFudERhdGFiYXNlc0NvbW1hbmQsXG4gIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kLFxuICBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmQsXG4gIE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmQsXG4gIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlckNvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZCxcbiAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIE1vZGlmeURCSW5zdGFuY2VDb21tYW5kLFxuICBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5REJQcm94eUNvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmQsXG4gIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kLFxuICBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZCxcbiAgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBNb2RpZnlJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kLFxuICBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kLFxuICBQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYm9vdERCQ2x1c3RlckNvbW1hbmQsXG4gIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kLFxuICBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kLFxuICBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbURCQ2x1c3RlckNvbW1hbmQsXG4gIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmQsXG4gIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmQsXG4gIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZCxcbiAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICBTdGFydERCQ2x1c3RlckNvbW1hbmQsXG4gIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmQsXG4gIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmQsXG4gIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIFN0b3BEQkNsdXN0ZXJDb21tYW5kLFxuICBTdG9wREJJbnN0YW5jZUNvbW1hbmQsXG4gIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgUkRTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgYWRkUm9sZVRvREJDbHVzdGVyKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclJvbGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGFkZFJvbGVUb0RCSW5zdGFuY2UoXG4gICAgYXJnczogQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0RCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VSb2xlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBhZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb24oXG4gICAgYXJnczogQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvciB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBhZGRUYWdzVG9SZXNvdXJjZShcbiAgICBhcmdzOiBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb24oXG4gICAgYXJnczogQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgYXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzcyhcbiAgICBhcmdzOiBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgYmFja3RyYWNrREJDbHVzdGVyKFxuICAgIGFyZ3M6IEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kfVxuICAgKi9cbiAgY2FuY2VsRXhwb3J0VGFzayhcbiAgICBhcmdzOiBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJDbHVzdGVyU25hcHNob3QoXG4gICAgYXJnczogQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJTbmFwc2hvdChcbiAgICBhcmdzOiBDb3B5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDdXN0b21BdmFpbGFiaWxpdHlab25lTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5T3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY29weU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IENvcHlPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50KFxuICAgIGFyZ3M6IENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU291cmNlQ2x1c3Rlck5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFNvdXJjZURhdGFiYXNlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uRmF1bHRFcnJvclxuICAgIHwgQ3VzdG9tREJFbmdpbmVWZXJzaW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyKFxuICAgIGFyZ3M6IENyZWF0ZURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdChcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCSW5zdGFuY2UoXG4gICAgYXJnczogQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhKFxuICAgIGFyZ3M6IENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJQcm94eUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlByb3h5KFxuICAgIGFyZ3M6IENyZWF0ZURCUHJveHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlByb3h5RW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQcm94eUVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCU2VjdXJpdHlHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNoYXJkR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE1heERCU2hhcmRHcm91cExpbWl0UmVhY2hlZEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlNuYXBzaG90KFxuICAgIGFyZ3M6IENyZWF0ZURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTdWJuZXRHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFNOU0ludmFsaWRUb3BpY0ZhdWx0RXJyb3JcbiAgICB8IFNOU05vQXV0aG9yaXphdGlvbkZhdWx0RXJyb3JcbiAgICB8IFNOU1RvcGljQXJuTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVJbnRlZ3JhdGlvbihcbiAgICBhcmdzOiBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVPcHRpb25Hcm91cChcbiAgICBhcmdzOiBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVRlbmFudERhdGFiYXNlKFxuICAgIGFyZ3M6IENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEJsdWVHcmVlbkRlcGxveW1lbnRTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUN1c3RvbURCRW5naW5lVmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEN1c3RvbURCRW5naW5lVmVyc2lvblN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXAoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJFbmRwb2ludFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJJbnN0YW5jZShcbiAgICBhcmdzOiBEZWxldGVEQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cChcbiAgICBhcmdzOiBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlByb3h5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCUHJveHkoXG4gICAgYXJnczogRGVsZXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCUHJveHlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlByb3h5RW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCU2VjdXJpdHlHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlN1Ym5ldEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU3VibmV0U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW50ZWdyYXRpb24oXG4gICAgYXJnczogRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkSW50ZWdyYXRpb25TdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlT3B0aW9uR3JvdXAoXG4gICAgYXJnczogRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVUZW5hbnREYXRhYmFzZShcbiAgICBhcmdzOiBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZH1cbiAgICovXG4gIGRlcmVnaXN0ZXJEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHMoXG4gICAgYXJnczogRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQmFja3RyYWNrTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlckVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlclNuYXBzaG90cyhcbiAgICBhcmdzOiBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCSW5zdGFuY2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJMb2dGaWxlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3hpZXMoXG4gICAgYXJnczogRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUHJveGllc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUHJveHlFbmRwb2ludHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUHJveHlFbmRwb2ludE5vdEZvdW5kRmF1bHRFcnJvciB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJQcm94eVRhcmdldEdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUHJveHlUYXJnZXRzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlJlY29tbWVuZGF0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTZWN1cml0eUdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU2hhcmRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvciB8IERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlNuYXBzaG90cyhcbiAgICBhcmdzOiBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlN1Ym5ldEdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0Q2x1c3RlclBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFdmVudENhdGVnb3JpZXMoXG4gICAgYXJnczogRGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV2ZW50U3Vic2NyaXB0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTdWJzY3JpcHRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFdmVudHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFdmVudHMoXG4gICAgYXJnczogRGVzY3JpYmVFdmVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZUV2ZW50c0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUV4cG9ydFRhc2tzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEV4cG9ydFRhc2tOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUdsb2JhbENsdXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbnRlZ3JhdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUludGVncmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZU9wdGlvbkdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlcyhcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUmVzZXJ2ZWREQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3MoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ05vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTb3VyY2VSZWdpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlU291cmNlUmVnaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlU291cmNlUmVnaW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVUZW5hbnREYXRhYmFzZXMoXG4gICAgYXJnczogRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVRlbmFudERhdGFiYXNlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVIdHRwRW5kcG9pbnQoXG4gICAgYXJnczogRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFJlc291cmNlU3RhdGVGYXVsdEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRvd25sb2FkREJMb2dGaWxlUG9ydGlvbihcbiAgICBhcmdzOiBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciB8IERCTG9nRmlsZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZW5hYmxlSHR0cEVuZHBvaW50KFxuICAgIGFyZ3M6IEVuYWJsZUh0dHBFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEVuYWJsZUh0dHBFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUmVzb3VyY2VTdGF0ZUZhdWx0RXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBmYWlsb3ZlckRCQ2x1c3RlcihcbiAgICBhcmdzOiBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBmYWlsb3Zlckdsb2JhbENsdXN0ZXIoXG4gICAgYXJnczogRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUFjdGl2aXR5U3RyZWFtKFxuICAgIGFyZ3M6IE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5QWN0aXZpdHlTdHJlYW1Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q2VydGlmaWNhdGVzKFxuICAgIGFyZ3M6IE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBDZXJ0aWZpY2F0ZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5KFxuICAgIGFyZ3M6IE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb24oXG4gICAgYXJnczogTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDdXN0b21EQkVuZ2luZVZlcnNpb25TdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlcihcbiAgICBhcmdzOiBNb2RpZnlEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdEF2YWlsYWJsZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJFbmRwb2ludFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGUoXG4gICAgYXJnczogTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2hhcmVkU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCSW5zdGFuY2UoXG4gICAgYXJnczogTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlVwZ3JhZGVEZXBlbmRlbmN5RmFpbHVyZUZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUGFyYW1ldGVyR3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUHJveHlDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJQcm94eShcbiAgICBhcmdzOiBNb2RpZnlEQlByb3h5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJQcm94eUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJQcm94eUVuZHBvaW50KFxuICAgIGFyZ3M6IE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eUVuZHBvaW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlFbmRwb2ludE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlFbmRwb2ludFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHlUYXJnZXRHcm91cChcbiAgICBhcmdzOiBNb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlJlY29tbWVuZGF0aW9uKFxuICAgIGFyZ3M6IE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTaGFyZEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU25hcHNob3QoXG4gICAgYXJnczogTW9kaWZ5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGUoXG4gICAgYXJnczogTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBTaGFyZWRTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJTdWJuZXRHcm91cChcbiAgICBhcmdzOiBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IFN1Ym5ldEFscmVhZHlJblVzZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFNOU0ludmFsaWRUb3BpY0ZhdWx0RXJyb3JcbiAgICB8IFNOU05vQXV0aG9yaXphdGlvbkZhdWx0RXJyb3JcbiAgICB8IFNOU1RvcGljQXJuTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5R2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5SW50ZWdyYXRpb24oXG4gICAgYXJnczogTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkSW50ZWdyYXRpb25TdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5T3B0aW9uR3JvdXAoXG4gICAgYXJnczogTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlUZW5hbnREYXRhYmFzZShcbiAgICBhcmdzOiBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZH1cbiAgICovXG4gIHByb21vdGVSZWFkUmVwbGljYShcbiAgICBhcmdzOiBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBwcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXIoXG4gICAgYXJnczogUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kfVxuICAgKi9cbiAgcHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmcoXG4gICAgYXJnczogUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgUmVzZXJ2ZWREQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFJlc2VydmVkREJJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290REJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYm9vdERCQ2x1c3RlcihcbiAgICBhcmdzOiBSZWJvb3REQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3REQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICByZWJvb3REQkluc3RhbmNlKFxuICAgIGFyZ3M6IFJlYm9vdERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3REQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVib290REJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IFJlYm9vdERCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlYm9vdERCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kfVxuICAgKi9cbiAgcmVnaXN0ZXJEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0QWxyZWFkeVJlZ2lzdGVyZWRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudEF2YWlsYWJsZUlQc0luU3VibmV0RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZUZyb21HbG9iYWxDbHVzdGVyKFxuICAgIGFyZ3M6IFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXIoXG4gICAgYXJnczogUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVSb2xlRnJvbURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVSb2xlRnJvbURCSW5zdGFuY2UoXG4gICAgYXJnczogUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb24oXG4gICAgYXJnczogUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVTb3VyY2VJZGVudGlmaWVyRnJvbVN1YnNjcmlwdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBTdWJzY3JpcHRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVUYWdzRnJvbVJlc291cmNlKFxuICAgIGFyZ3M6IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVzZXREQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IFJlc2V0REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc2V0REJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJDbHVzdGVyRnJvbVMzKFxuICAgIGFyZ3M6IFJlc3RvcmVEQkNsdXN0ZXJGcm9tUzNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUzNCdWNrZXRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90KFxuICAgIGFyZ3M6IFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lKFxuICAgIGFyZ3M6IFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlclRvUG9pbnRJblRpbWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdChcbiAgICBhcmdzOiBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQmFja3VwUG9saWN5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDZXJ0aWZpY2F0ZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRSZXN0b3JlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCSW5zdGFuY2VGcm9tUzMoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlREJJbnN0YW5jZUZyb21TM0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQmFja3VwUG9saWN5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDZXJ0aWZpY2F0ZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZShcbiAgICBhcmdzOiBSZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRSZXN0b3JlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQb2ludEluVGltZVJlc3RvcmVOb3RFbmFibGVkRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgcmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzcyhcbiAgICBhcmdzOiBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRBY3Rpdml0eVN0cmVhbShcbiAgICBhcmdzOiBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0REJDbHVzdGVyKFxuICAgIGFyZ3M6IFN0YXJ0REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnREQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0REJJbnN0YW5jZShcbiAgICBhcmdzOiBTdGFydERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydERCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBTdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0RXhwb3J0VGFzayhcbiAgICBhcmdzOiBTdGFydEV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydEV4cG9ydFRhc2tDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEV4cG9ydFRhc2tBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSWFtUm9sZU1pc3NpbmdQZXJtaXNzaW9uc0ZhdWx0RXJyb3JcbiAgICB8IElhbVJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRFeHBvcnRPbmx5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEV4cG9ydFNvdXJjZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZH1cbiAgICovXG4gIHN0b3BBY3Rpdml0eVN0cmVhbShcbiAgICBhcmdzOiBTdG9wQWN0aXZpdHlTdHJlYW1Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wQWN0aXZpdHlTdHJlYW1Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgc3RvcERCQ2x1c3RlcihcbiAgICBhcmdzOiBTdG9wREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcERCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBzdG9wREJJbnN0YW5jZShcbiAgICBhcmdzOiBTdG9wREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uKFxuICAgIGFyZ3M6IFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZH1cbiAgICovXG4gIHN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50KFxuICAgIGFyZ3M6IFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyKFxuICAgIGFyZ3M6IFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3dpdGNob3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZH1cbiAgICovXG4gIHN3aXRjaG92ZXJSZWFkUmVwbGljYShcbiAgICBhcmdzOiBTd2l0Y2hvdmVyUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTd2l0Y2hvdmVyUmVhZFJlcGxpY2FDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlUkRTU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFJEU0NsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgUkRTU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxSRFNTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBSRFNTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgUkRTU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtcmRzL1JEU1NlcnZpY2VcIik8XG4gIFJEU1NlcnZpY2UsXG4gIFJEU1NlcnZpY2UkXG4+KCkge1xuICBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdExheWVyID0gTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VSRFNTZXJ2aWNlKS5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoUkRTQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0UkRTQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBSRFNDbGllbnRDb25maWcpID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VSRFNTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShSRFNDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBSRFNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgICAgICAgICBtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBSRFNDbGllbnRDb25maWcpID0+IFJEU0NsaWVudCxcbiAgKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlUkRTU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBSRFNDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0UkRTQ2xpZW50SW5zdGFuY2VDb25maWcsIGV2YWx1YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqIEBhbGlhcyBSRFNTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBSRFMgPSBSRFNTZXJ2aWNlO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFJEUy5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZVJEU1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChSRFNTZXJ2aWNlLCBtYWtlUkRTU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgUkRTLmxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IFJEU1NlcnZpY2VMYXllciA9IEJhc2VSRFNTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShSRFNDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgUkRTLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UkRTU2VydmljZUxheWVyID0gUkRTU2VydmljZS5kZWZhdWx0TGF5ZXI7XG4iXX0=
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SRFNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCxtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLDBCQUEwQixFQUcxQix3Q0FBd0MsRUFHeEMsd0JBQXdCLEVBR3hCLG9DQUFvQyxFQUdwQyxzQ0FBc0MsRUFHdEMseUJBQXlCLEVBR3pCLHVCQUF1QixFQUd2QixrQ0FBa0MsRUFHbEMsNEJBQTRCLEVBRzVCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsc0JBQXNCLEVBR3RCLGdDQUFnQyxFQUdoQyxrQ0FBa0MsRUFHbEMsc0JBQXNCLEVBR3RCLDhCQUE4QixFQUc5QixvQ0FBb0MsRUFHcEMsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixrQ0FBa0MsRUFHbEMsNkJBQTZCLEVBRzdCLG9CQUFvQixFQUdwQiw0QkFBNEIsRUFHNUIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IsZ0NBQWdDLEVBR2hDLGtDQUFrQyxFQUdsQyxzQkFBc0IsRUFHdEIscUNBQXFDLEVBR3JDLDhCQUE4QixFQUc5QixvQ0FBb0MsRUFHcEMsOEJBQThCLEVBRzlCLHVCQUF1QixFQUd2QixzQ0FBc0MsRUFHdEMsNkJBQTZCLEVBRzdCLG9CQUFvQixFQUdwQiw0QkFBNEIsRUFHNUIsNEJBQTRCLEVBRzVCLHlCQUF5QixFQUd6Qix1QkFBdUIsRUFHdkIsMEJBQTBCLEVBRzFCLDhCQUE4QixFQUc5QiwwQkFBMEIsRUFHMUIsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUd4QiwyQkFBMkIsRUFHM0IsK0JBQStCLEVBRy9CLGdDQUFnQyxFQUdoQyxtQ0FBbUMsRUFHbkMsMkJBQTJC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U1NlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgUkRTQ2xpZW50LFxuICB0eXBlIFJEU0NsaWVudENvbmZpZyxcbiAgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkUm9sZVRvREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgdHlwZSBBZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kLFxuICB0eXBlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEFwcGx5UGVuZGluZ01haW50ZW5hbmNlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmFja3RyYWNrREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5REJDbHVzdGVyU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ29weURCU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDb3B5T3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQcm94eUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlREJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQcm94eUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgdHlwZSBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDZXJ0aWZpY2F0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyRW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNoYXJkR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0Q2x1c3RlclBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlT3B0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZCxcbiAgdHlwZSBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIEZhaWxvdmVyREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICB0eXBlIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5RXZlbnRTdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICB0eXBlIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kLFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3REQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJJbnN0YW5jZUNvbW1hbmQsXG4gIHR5cGUgUmVib290REJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJvb3REQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIHR5cGUgUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kLFxuICB0eXBlIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCQ2x1c3RlclRvUG9pbnRJblRpbWVDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kLFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZE91dHB1dCxcbiAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgdHlwZSBSZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWVDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIHR5cGUgU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN0YXJ0REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkluc3RhbmNlQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZCxcbiAgdHlwZSBTdGFydEV4cG9ydFRhc2tDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZCxcbiAgdHlwZSBTdG9wQWN0aXZpdHlTdHJlYW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgU3RvcERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdG9wREJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCSW5zdGFuY2VDb21tYW5kLFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgU3RvcERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICB0eXBlIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgdHlwZSBTd2l0Y2hvdmVyUmVhZFJlcGxpY2FDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1yZHNcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEFsbFNlcnZpY2VFcnJvcnMsXG4gIEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEJsdWVHcmVlbkRlcGxveW1lbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IsXG4gIEN1c3RvbUF2YWlsYWJpbGl0eVpvbmVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEN1c3RvbURCRW5naW5lVmVyc2lvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyQmFja3RyYWNrTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJFbmRwb2ludE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCQ2x1c3RlclJvbGVBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJDbHVzdGVyUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VOb3RSZWFkeUZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCSW5zdGFuY2VSb2xlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQkluc3RhbmNlUm9sZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQkxvZ0ZpbGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCUHJveHlFbmRwb2ludFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlByb3h5UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXRBbHJlYWR5UmVnaXN0ZXJlZEZhdWx0RXJyb3IsXG4gIERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJQcm94eVRhcmdldE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgREJTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIERCU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvcixcbiAgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERCVXBncmFkZURlcGVuZGVuY3lGYWlsdXJlRmF1bHRFcnJvcixcbiAgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yLFxuICBFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIEV4cG9ydFRhc2tOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvcixcbiAgR2xvYmFsQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBJYW1Sb2xlTWlzc2luZ1Blcm1pc3Npb25zRmF1bHRFcnJvcixcbiAgSWFtUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgSW5zdWZmaWNpZW50QXZhaWxhYmxlSVBzSW5TdWJuZXRGYXVsdEVycm9yLFxuICBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3IsXG4gIEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBJbnRlZ3JhdGlvbkNvbmZsaWN0T3BlcmF0aW9uRmF1bHRFcnJvcixcbiAgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIEludGVncmF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUHJveHlFbmRwb2ludFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNoYXJkR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3IsXG4gIEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkREJTdWJuZXRTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEV4cG9ydE9ubHlGYXVsdEVycm9yLFxuICBJbnZhbGlkRXhwb3J0U291cmNlU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkRXhwb3J0VGFza1N0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRJbnRlZ3JhdGlvblN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkUmVzb3VyY2VTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRSZXN0b3JlRmF1bHRFcnJvcixcbiAgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvcixcbiAgSW52YWxpZFN1Ym5ldEVycm9yLFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvcixcbiAgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3IsXG4gIE1heERCU2hhcmRHcm91cExpbWl0UmVhY2hlZEVycm9yLFxuICBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yLFxuICBPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEZhdWx0RXJyb3IsXG4gIFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yLFxuICBSZXNlcnZlZERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU05TSW52YWxpZFRvcGljRmF1bHRFcnJvcixcbiAgU05TTm9BdXRob3JpemF0aW9uRmF1bHRFcnJvcixcbiAgU05TVG9waWNBcm5Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNoYXJlZFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNvdXJjZUNsdXN0ZXJOb3RTdXBwb3J0ZWRGYXVsdEVycm9yLFxuICBTb3VyY2VEYXRhYmFzZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IsXG4gIFNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTdG9yYWdlVHlwZU5vdEF2YWlsYWJsZUZhdWx0RXJyb3IsXG4gIFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgU3VibmV0QWxyZWFkeUluVXNlRXJyb3IsXG4gIFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEZhdWx0RXJyb3IsXG4gIFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdEVycm9yLFxuICBTdWJzY3JpcHRpb25Ob3RGb3VuZEZhdWx0RXJyb3IsXG4gIFRlbmFudERhdGFiYXNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yLFxuICBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgUkRTQ2xpZW50SW5zdGFuY2UsIFJEU0NsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9SRFNDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyLFxuICBtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBSRFNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vUkRTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kLFxuICBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZCxcbiAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmQsXG4gIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kLFxuICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZCxcbiAgQ29weURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDb3B5REJTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlPcHRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kLFxuICBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZCxcbiAgQ3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhQ29tbWFuZCxcbiAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIENyZWF0ZURCUHJveHlDb21tYW5kLFxuICBDcmVhdGVEQlByb3h5RW5kcG9pbnRDb21tYW5kLFxuICBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kLFxuICBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmQsXG4gIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZCxcbiAgQ3JlYXRlT3B0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVUZW5hbnREYXRhYmFzZUNvbW1hbmQsXG4gIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBDb21tYW5kLFxuICBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJDbHVzdGVyU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVEQkluc3RhbmNlQ29tbWFuZCxcbiAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmQsXG4gIERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBEZWxldGVEQlByb3h5Q29tbWFuZCxcbiAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZCxcbiAgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJTaGFyZEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmQsXG4gIERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIERlbGV0ZU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlVGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kLFxuICBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdHNDb21tYW5kLFxuICBEZXNjcmliZURCQ2x1c3RlcnNDb21tYW5kLFxuICBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kLFxuICBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJMb2dGaWxlc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmQsXG4gIERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURCU2VjdXJpdHlHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50Q2F0ZWdvcmllc0NvbW1hbmQsXG4gIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZCxcbiAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kLFxuICBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kLFxuICBEZXNjcmliZVRlbmFudERhdGFiYXNlc0NvbW1hbmQsXG4gIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICBEb3dubG9hZERCTG9nRmlsZVBvcnRpb25Db21tYW5kLFxuICBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kLFxuICBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIE1vZGlmeUNlcnRpZmljYXRlc0NvbW1hbmQsXG4gIE1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eUNvbW1hbmQsXG4gIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlckNvbW1hbmQsXG4gIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZCxcbiAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIE1vZGlmeURCSW5zdGFuY2VDb21tYW5kLFxuICBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5REJQcm94eUNvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlFbmRwb2ludENvbW1hbmQsXG4gIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmQsXG4gIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kLFxuICBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kLFxuICBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZCxcbiAgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmQsXG4gIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmQsXG4gIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBNb2RpZnlJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kLFxuICBQcm9tb3RlUmVhZFJlcGxpY2FDb21tYW5kLFxuICBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kLFxuICBQdXJjaGFzZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYm9vdERCQ2x1c3RlckNvbW1hbmQsXG4gIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kLFxuICBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kLFxuICBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZCxcbiAgUmVtb3ZlRnJvbUdsb2JhbENsdXN0ZXJDb21tYW5kLFxuICBSZW1vdmVSb2xlRnJvbURCQ2x1c3RlckNvbW1hbmQsXG4gIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmQsXG4gIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZCxcbiAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmQsXG4gIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmQsXG4gIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZCxcbiAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZCxcbiAgUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kLFxuICBTdGFydERCQ2x1c3RlckNvbW1hbmQsXG4gIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmQsXG4gIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmQsXG4gIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmQsXG4gIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmQsXG4gIFN0b3BEQkNsdXN0ZXJDb21tYW5kLFxuICBTdG9wREJJbnN0YW5jZUNvbW1hbmQsXG4gIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZCxcbiAgU3dpdGNob3ZlckJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kLFxuICBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmQsXG4gIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgUkRTU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9EQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgYWRkUm9sZVRvREJDbHVzdGVyKFxuICAgIGFyZ3M6IEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclJvbGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRSb2xlVG9EQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGFkZFJvbGVUb0RCSW5zdGFuY2UoXG4gICAgYXJnczogQWRkUm9sZVRvREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFJvbGVUb0RCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VSb2xlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZFNvdXJjZUlkZW50aWZpZXJUb1N1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBhZGRTb3VyY2VJZGVudGlmaWVyVG9TdWJzY3JpcHRpb24oXG4gICAgYXJnczogQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkU291cmNlSWRlbnRpZmllclRvU3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvciB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBhZGRUYWdzVG9SZXNvdXJjZShcbiAgICBhcmdzOiBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb24oXG4gICAgYXJnczogQXBwbHlQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBcHBseVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF1dGhvcml6ZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgYXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzcyhcbiAgICBhcmdzOiBBdXRob3JpemVEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQXV0aG9yaXplREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYWNrdHJhY2tEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgYmFja3RyYWNrREJDbHVzdGVyKFxuICAgIGFyZ3M6IEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhY2t0cmFja0RCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kfVxuICAgKi9cbiAgY2FuY2VsRXhwb3J0VGFzayhcbiAgICBhcmdzOiBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNvcHlEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJDbHVzdGVyU25hcHNob3QoXG4gICAgYXJnczogQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29weURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDb3B5REJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5REJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5REJTbmFwc2hvdChcbiAgICBhcmdzOiBDb3B5REJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDdXN0b21BdmFpbGFiaWxpdHlab25lTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5T3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY29weU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IENvcHlPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvcHlPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50KFxuICAgIGFyZ3M6IENyZWF0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU291cmNlQ2x1c3Rlck5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFNvdXJjZURhdGFiYXNlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3JlYXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uRmF1bHRFcnJvclxuICAgIHwgQ3VzdG9tREJFbmdpbmVWZXJzaW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyKFxuICAgIGFyZ3M6IENyZWF0ZURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlN1Ym5ldEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdChcbiAgICBhcmdzOiBDcmVhdGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkluc3RhbmNlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCSW5zdGFuY2UoXG4gICAgYXJnczogQ3JlYXRlREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCSW5zdGFuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgTmV0d29ya1R5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJJbnN0YW5jZVJlYWRSZXBsaWNhKFxuICAgIGFyZ3M6IENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJQcm94eUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlByb3h5KFxuICAgIGFyZ3M6IENyZWF0ZURCUHJveHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlByb3h5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCUHJveHlFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlByb3h5RW5kcG9pbnQoXG4gICAgYXJnczogQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQcm94eUVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZURCU2VjdXJpdHlHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBEQlNlY3VyaXR5R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNoYXJkR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE1heERCU2hhcmRHcm91cExpbWl0UmVhY2hlZEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlREJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVEQlNuYXBzaG90KFxuICAgIGFyZ3M6IENyZWF0ZURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZURCU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlREJTdWJuZXRHcm91cChcbiAgICBhcmdzOiBDcmVhdGVEQlN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlREJTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IENyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFNOU0ludmFsaWRUb3BpY0ZhdWx0RXJyb3JcbiAgICB8IFNOU05vQXV0aG9yaXphdGlvbkZhdWx0RXJyb3JcbiAgICB8IFNOU1RvcGljQXJuTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkFscmVhZHlFeGlzdEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBDcmVhdGVHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVJbnRlZ3JhdGlvbihcbiAgICBhcmdzOiBDcmVhdGVJbnRlZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVPcHRpb25Hcm91cChcbiAgICBhcmdzOiBDcmVhdGVPcHRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZU9wdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBPcHRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVRlbmFudERhdGFiYXNlKFxuICAgIGFyZ3M6IENyZWF0ZVRlbmFudERhdGFiYXNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVGVuYW50RGF0YWJhc2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUJsdWVHcmVlbkRlcGxveW1lbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBEZWxldGVCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEJsdWVHcmVlbkRlcGxveW1lbnRTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ3VzdG9tREJFbmdpbmVWZXJzaW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUN1c3RvbURCRW5naW5lVmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEN1c3RvbURCRW5naW5lVmVyc2lvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEN1c3RvbURCRW5naW5lVmVyc2lvblN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXAoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJDbHVzdGVyQXV0b21hdGVkQmFja3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJDbHVzdGVyRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlREJDbHVzdGVyRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQkNsdXN0ZXJFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJFbmRwb2ludFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQkNsdXN0ZXJTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVEQkNsdXN0ZXJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCQ2x1c3RlclNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJJbnN0YW5jZShcbiAgICBhcmdzOiBEZWxldGVEQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cChcbiAgICBhcmdzOiBEZWxldGVEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlByb3h5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCUHJveHkoXG4gICAgYXJnczogRGVsZXRlREJQcm94eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCUHJveHlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvciB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCUHJveHlFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlByb3h5RW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJQcm94eUVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURCU2VjdXJpdHlHcm91cChcbiAgICBhcmdzOiBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEQlNoYXJkR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTaGFyZEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURCU2hhcmRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZURCU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlREJTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVEQlNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlREJTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlREJTdWJuZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEQlN1Ym5ldEdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZURCU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEQlN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU3VibmV0U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlRXZlbnRTdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBEZWxldGVHbG9iYWxDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbENsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlSW50ZWdyYXRpb24oXG4gICAgYXJnczogRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkSW50ZWdyYXRpb25TdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlT3B0aW9uR3JvdXAoXG4gICAgYXJnczogRGVsZXRlT3B0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVPcHRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVUZW5hbnREYXRhYmFzZShcbiAgICBhcmdzOiBEZWxldGVUZW5hbnREYXRhYmFzZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVRlbmFudERhdGFiYXNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVyZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZH1cbiAgICovXG4gIGRlcmVnaXN0ZXJEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUJsdWVHcmVlbkRlcGxveW1lbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHMoXG4gICAgYXJnczogRGVzY3JpYmVCbHVlR3JlZW5EZXBsb3ltZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQmx1ZUdyZWVuRGVwbG95bWVudHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBEZXNjcmliZUNlcnRpZmljYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2VydGlmaWNhdGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyQXV0b21hdGVkQmFja3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlckJhY2t0cmFja3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJCYWNrdHJhY2tzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyQmFja3RyYWNrc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQmFja3RyYWNrTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJFbmRwb2ludHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlckVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlclBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlclNuYXBzaG90cyhcbiAgICBhcmdzOiBEZXNjcmliZURCQ2x1c3RlclNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJDbHVzdGVyU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJDbHVzdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCQ2x1c3RlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQkNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCRW5naW5lVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQkVuZ2luZVZlcnNpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlREJFbmdpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCSW5zdGFuY2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJJbnN0YW5jZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQkxvZ0ZpbGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJMb2dGaWxlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCTG9nRmlsZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciB8IERCSW5zdGFuY2VOb3RSZWFkeUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlBhcmFtZXRlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVEQlBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94aWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJQcm94aWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94aWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3hpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUHJveHlFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3h5RW5kcG9pbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJQcm94eUVuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eVRhcmdldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCUHJveHlUYXJnZXRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJQcm94eVRhcmdldHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlByb3h5VGFyZ2V0cyhcbiAgICBhcmdzOiBEZXNjcmliZURCUHJveHlUYXJnZXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlByb3h5VGFyZ2V0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCUmVjb21tZW5kYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEQlJlY29tbWVuZGF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlREJSZWNvbW1lbmRhdGlvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlREJTZWN1cml0eUdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU2VjdXJpdHlHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVEQlNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU2hhcmRHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEQlNoYXJkR3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTaGFyZEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNuYXBzaG90QXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlREJTbmFwc2hvdEF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU25hcHNob3RBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdFRlbmFudERhdGFiYXNlcyhcbiAgICBhcmdzOiBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURCU25hcHNob3RUZW5hbnREYXRhYmFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTbmFwc2hvdHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURCU3VibmV0R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlREJTdWJuZXRHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVEQlN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlREJTdWJuZXRHcm91cHNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUVuZ2luZURlZmF1bHRDbHVzdGVyUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRW5naW5lRGVmYXVsdENsdXN0ZXJQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRDYXRlZ29yaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRDYXRlZ29yaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFdmVudENhdGVnb3JpZXNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRTdWJzY3JpcHRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFdmVudFN1YnNjcmlwdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXZlbnRzKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8RGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeHBvcnRUYXNrcyhcbiAgICBhcmdzOiBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlR2xvYmFsQ2x1c3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVHbG9iYWxDbHVzdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbENsdXN0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVHbG9iYWxDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSW50ZWdyYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlSW50ZWdyYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVJbnRlZ3JhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPcHRpb25Hcm91cE9wdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZU9wdGlvbkdyb3VwT3B0aW9uc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVPcHRpb25Hcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVPcHRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU9wdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZU9yZGVyYWJsZURCSW5zdGFuY2VPcHRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVPcmRlcmFibGVEQkluc3RhbmNlT3B0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PERlc2NyaWJlT3JkZXJhYmxlREJJbnN0YW5jZU9wdGlvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUGVuZGluZ01haW50ZW5hbmNlQWN0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVBlbmRpbmdNYWludGVuYW5jZUFjdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVQZW5kaW5nTWFpbnRlbmFuY2VBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXMoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IFJlc2VydmVkREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTb3VyY2VSZWdpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU291cmNlUmVnaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZVNvdXJjZVJlZ2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVGVuYW50RGF0YWJhc2VzKFxuICAgIGFyZ3M6IERlc2NyaWJlVGVuYW50RGF0YWJhc2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVUZW5hbnREYXRhYmFzZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVZhbGlkREJJbnN0YW5jZU1vZGlmaWNhdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVWYWxpZERCSW5zdGFuY2VNb2RpZmljYXRpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVmFsaWREQkluc3RhbmNlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYWJsZUh0dHBFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICBkaXNhYmxlSHR0cEVuZHBvaW50KFxuICAgIGFyZ3M6IERpc2FibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhYmxlSHR0cEVuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRSZXNvdXJjZVN0YXRlRmF1bHRFcnJvciB8IFJlc291cmNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERvd25sb2FkREJMb2dGaWxlUG9ydGlvbkNvbW1hbmR9XG4gICAqL1xuICBkb3dubG9hZERCTG9nRmlsZVBvcnRpb24oXG4gICAgYXJnczogRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRG93bmxvYWREQkxvZ0ZpbGVQb3J0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90UmVhZHlGYXVsdEVycm9yXG4gICAgfCBEQkxvZ0ZpbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRW5hYmxlSHR0cEVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGVuYWJsZUh0dHBFbmRwb2ludChcbiAgICBhcmdzOiBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFbmFibGVIdHRwRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFJlc291cmNlU3RhdGVGYXVsdEVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJEQkNsdXN0ZXIoXG4gICAgYXJnczogRmFpbG92ZXJEQkNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBGYWlsb3ZlckRCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGYWlsb3Zlckdsb2JhbENsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZmFpbG92ZXJHbG9iYWxDbHVzdGVyKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZhaWxvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlBY3Rpdml0eVN0cmVhbShcbiAgICBhcmdzOiBNb2RpZnlBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2VydGlmaWNhdGVzQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUNlcnRpZmljYXRlcyhcbiAgICBhcmdzOiBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDZXJ0aWZpY2F0ZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q3VycmVudERCQ2x1c3RlckNhcGFjaXR5Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUN1cnJlbnREQkNsdXN0ZXJDYXBhY2l0eShcbiAgICBhcmdzOiBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDdXJyZW50REJDbHVzdGVyQ2FwYWNpdHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDdXN0b21EQkVuZ2luZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q3VzdG9tREJFbmdpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUN1c3RvbURCRW5naW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ3VzdG9tREJFbmdpbmVWZXJzaW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQkNsdXN0ZXIoXG4gICAgYXJnczogTW9kaWZ5REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RBdmFpbGFibGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlckVuZHBvaW50KFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlckVuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlckVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlKFxuICAgIGFyZ3M6IE1vZGlmeURCQ2x1c3RlclNuYXBzaG90QXR0cmlidXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJDbHVzdGVyU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNoYXJlZFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQkluc3RhbmNlKFxuICAgIGFyZ3M6IE1vZGlmeURCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJVcGdyYWRlRGVwZW5kZW5jeUZhaWx1cmVGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeURCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlByb3h5Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHkoXG4gICAgYXJnczogTW9kaWZ5REJQcm94eUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCUHJveHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJQcm94eUVuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCUHJveHlFbmRwb2ludChcbiAgICBhcmdzOiBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlByb3h5RW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5RW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUHJveHlUYXJnZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlByb3h5VGFyZ2V0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5REJQcm94eVRhcmdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlByb3h5U3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeURCUmVjb21tZW5kYXRpb25Db21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5REJSZWNvbW1lbmRhdGlvbihcbiAgICBhcmdzOiBNb2RpZnlEQlJlY29tbWVuZGF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8TW9kaWZ5REJSZWNvbW1lbmRhdGlvbkNvbW1hbmRPdXRwdXQsIFNka0Vycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU2hhcmRHcm91cChcbiAgICBhcmdzOiBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBEQlNoYXJkR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlNuYXBzaG90KFxuICAgIGFyZ3M6IE1vZGlmeURCU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5REJTbmFwc2hvdEF0dHJpYnV0ZUNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlKFxuICAgIGFyZ3M6IE1vZGlmeURCU25hcHNob3RBdHRyaWJ1dGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlEQlNuYXBzaG90QXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2hhcmVkU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlEQlN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeURCU3VibmV0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5REJTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeURCU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBTdWJuZXRBbHJlYWR5SW5Vc2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlFdmVudFN1YnNjcmlwdGlvbihcbiAgICBhcmdzOiBNb2RpZnlFdmVudFN1YnNjcmlwdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUV2ZW50U3Vic2NyaXB0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTTlNJbnZhbGlkVG9waWNGYXVsdEVycm9yXG4gICAgfCBTTlNOb0F1dGhvcml6YXRpb25GYXVsdEVycm9yXG4gICAgfCBTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU3Vic2NyaXB0aW9uQ2F0ZWdvcnlOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlHbG9iYWxDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUdsb2JhbENsdXN0ZXIoXG4gICAgYXJnczogTW9kaWZ5R2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUdsb2JhbENsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUludGVncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUludGVncmF0aW9uKFxuICAgIGFyZ3M6IE1vZGlmeUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5SW50ZWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEludGVncmF0aW9uU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeU9wdGlvbkdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeU9wdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5T3B0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5VGVuYW50RGF0YWJhc2UoXG4gICAgYXJnczogTW9kaWZ5VGVuYW50RGF0YWJhc2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlUZW5hbnREYXRhYmFzZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFByb21vdGVSZWFkUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBwcm9tb3RlUmVhZFJlcGxpY2EoXG4gICAgYXJnczogUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHJvbW90ZVJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQcm9tb3RlUmVhZFJlcGxpY2FEQkNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgcHJvbW90ZVJlYWRSZXBsaWNhREJDbHVzdGVyKFxuICAgIGFyZ3M6IFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFByb21vdGVSZWFkUmVwbGljYURCQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nKFxuICAgIGFyZ3M6IFB1cmNoYXNlUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVyY2hhc2VSZXNlcnZlZERCSW5zdGFuY2VzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFJlc2VydmVkREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdERCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWJvb3REQkNsdXN0ZXIoXG4gICAgYXJnczogUmVib290REJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdERCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgcmVib290REJJbnN0YW5jZShcbiAgICBhcmdzOiBSZWJvb3REQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290REJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290REJTaGFyZEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYm9vdERCU2hhcmRHcm91cChcbiAgICBhcmdzOiBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3REQlNoYXJkR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2hhcmRHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWdpc3RlckRCUHJveHlUYXJnZXRzQ29tbWFuZH1cbiAgICovXG4gIHJlZ2lzdGVyREJQcm94eVRhcmdldHMoXG4gICAgYXJnczogUmVnaXN0ZXJEQlByb3h5VGFyZ2V0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlZ2lzdGVyREJQcm94eVRhcmdldHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEFscmVhZHlSZWdpc3RlcmVkRmF1bHRFcnJvclxuICAgIHwgREJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRBdmFpbGFibGVJUHNJblN1Ym5ldEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJQcm94eVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVGcm9tR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBSZW1vdmVGcm9tR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZUZyb21HbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVJvbGVGcm9tREJDbHVzdGVyKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tREJDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlUm9sZUZyb21EQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVSb2xlRnJvbURCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlUm9sZUZyb21EQkluc3RhbmNlKFxuICAgIGFyZ3M6IFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVJvbGVGcm9tREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZVJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uKFxuICAgIGFyZ3M6IFJlbW92ZVNvdXJjZUlkZW50aWZpZXJGcm9tU3Vic2NyaXB0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlU291cmNlSWRlbnRpZmllckZyb21TdWJzY3JpcHRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgU291cmNlTm90Rm91bmRGYXVsdEVycm9yIHwgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVtb3ZlVGFnc0Zyb21SZXNvdXJjZShcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQmx1ZUdyZWVuRGVwbG95bWVudE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW50ZWdyYXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2V0REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldERCQ2x1c3RlclBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZXREQkNsdXN0ZXJQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXREQlBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlc2V0REJQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldERCUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJGcm9tUzNDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCQ2x1c3RlckZyb21TMyhcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyRnJvbVMzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlckZyb21TM0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFMzQnVja2V0RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgS01TS2V5Tm90QWNjZXNzaWJsZUZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkNsdXN0ZXJGcm9tU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdChcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyRnJvbVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCQ2x1c3RlckZyb21TbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudFN0b3JhZ2VDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlc3RvcmVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZShcbiAgICBhcmdzOiBSZXN0b3JlREJDbHVzdGVyVG9Qb2ludEluVGltZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERvbWFpbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRTdG9yYWdlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFJlc3RvcmVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU3VibmV0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXN0b3JlREJJbnN0YW5jZUZyb21EQlNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3QoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VGcm9tREJTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlc3RvcmVEQkluc3RhbmNlRnJvbURCU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZH1cbiAgICovXG4gIHJlc3RvcmVEQkluc3RhbmNlRnJvbVMzKFxuICAgIGFyZ3M6IFJlc3RvcmVEQkluc3RhbmNlRnJvbVMzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VGcm9tUzNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2VydGlmaWNhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3RvcmVEQkluc3RhbmNlVG9Qb2ludEluVGltZUNvbW1hbmR9XG4gICAqL1xuICByZXN0b3JlREJJbnN0YW5jZVRvUG9pbnRJblRpbWUoXG4gICAgYXJnczogUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFac0Vycm9yXG4gICAgfCBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEb21haW5Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZEVycm9yXG4gICAgfCBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUG9pbnRJblRpbWVSZXN0b3JlTm90RW5hYmxlZEZhdWx0RXJyb3JcbiAgICB8IFByb3Zpc2lvbmVkSW9wc05vdEF2YWlsYWJsZUluQVpGYXVsdEVycm9yXG4gICAgfCBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXZva2VEQlNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZH1cbiAgICovXG4gIHJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3MoXG4gICAgYXJnczogUmV2b2tlREJTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFJldm9rZURCU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydEFjdGl2aXR5U3RyZWFtQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0QWN0aXZpdHlTdHJlYW0oXG4gICAgYXJnczogU3RhcnRBY3Rpdml0eVN0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0QWN0aXZpdHlTdHJlYW1Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydERCQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCQ2x1c3RlcihcbiAgICBhcmdzOiBTdGFydERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0REJDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJJbnN0YW5jZUNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCSW5zdGFuY2UoXG4gICAgYXJnczogU3RhcnREQkluc3RhbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkluc3RhbmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNFcnJvclxuICAgIHwgREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzUmVwbGljYXRpb24oXG4gICAgYXJnczogU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvclxuICAgIHwgU3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0RXhwb3J0VGFza0NvbW1hbmR9XG4gICAqL1xuICBzdGFydEV4cG9ydFRhc2soXG4gICAgYXJnczogU3RhcnRFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBEQlNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IElhbVJvbGVNaXNzaW5nUGVybWlzc2lvbnNGYXVsdEVycm9yXG4gICAgfCBJYW1Sb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkRXhwb3J0T25seUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRFeHBvcnRTb3VyY2VTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTM0J1Y2tldEZhdWx0RXJyb3JcbiAgICB8IEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BBY3Rpdml0eVN0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBzdG9wQWN0aXZpdHlTdHJlYW0oXG4gICAgYXJnczogU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcEFjdGl2aXR5U3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHN0b3BEQkNsdXN0ZXIoXG4gICAgYXJnczogU3RvcERCQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERCQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZERCSW5zdGFuY2VTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcERCSW5zdGFuY2VDb21tYW5kfVxuICAgKi9cbiAgc3RvcERCSW5zdGFuY2UoXG4gICAgYXJnczogU3RvcERCSW5zdGFuY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wREJJbnN0YW5jZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbihcbiAgICBhcmdzOiBTdG9wREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BEQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudChcbiAgICBhcmdzOiBTd2l0Y2hvdmVyQmx1ZUdyZWVuRGVwbG95bWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN3aXRjaG92ZXJCbHVlR3JlZW5EZXBsb3ltZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQmx1ZUdyZWVuRGVwbG95bWVudFN0YXRlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlcihcbiAgICBhcmdzOiBTd2l0Y2hvdmVyR2xvYmFsQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN3aXRjaG92ZXJHbG9iYWxDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEQkNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbENsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN3aXRjaG92ZXJSZWFkUmVwbGljYUNvbW1hbmR9XG4gICAqL1xuICBzd2l0Y2hvdmVyUmVhZFJlcGxpY2EoXG4gICAgYXJnczogU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3dpdGNob3ZlclJlYWRSZXBsaWNhQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgfCBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVJEU1NlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhSRFNDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIFJEU1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248UkRTU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgUkRTU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFJEU1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXJkcy9SRFNTZXJ2aWNlXCIpPFxuICBSRFNTZXJ2aWNlLFxuICBSRFNTZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlUkRTU2VydmljZSkucGlwZShcbiAgICBMYXllci5wcm92aWRlKFJEU0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogUkRTQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlUkRTU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoUkRTQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgUkRTQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRSRFNDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogUkRTQ2xpZW50Q29uZmlnKSA9PiBSRFNDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZVJEU1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgUkRTQ2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLCBldmFsdWF0ZSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKiBAYWxpYXMgUkRTU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgUkRTID0gUkRTU2VydmljZTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBSRFMuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VSRFNTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoUkRTU2VydmljZSwgbWFrZVJEU1NlcnZpY2UpO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFJEUy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBSRFNTZXJ2aWNlTGF5ZXIgPSBCYXNlUkRTU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoUkRTQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIFJEUy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFJEU1NlcnZpY2VMYXllciA9IFJEU1NlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19