@effect-aws/client-elasticache 1.0.0 → 1.1.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-aws/client-elasticache
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`0cfcda0`](https://github.com/floydspace/effect-aws/commit/0cfcda0d5617916d966807f5d5120df9ba461c12) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect to v3
8
+
3
9
  ## 1.0.0
4
10
 
5
11
  ### Major Changes
@@ -97,7 +97,7 @@ exports.ElastiCacheService = effect_1.Context.GenericTag("@effect-aws/client-ela
97
97
  */
98
98
  exports.makeElastiCacheService = effect_1.Effect.gen(function* (_) {
99
99
  const client = yield* _(ElastiCacheClientInstance_1.ElastiCacheClientInstance);
100
- return effect_1.ReadonlyRecord.toEntries(commands).reduce((acc, [command]) => {
100
+ return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
101
101
  const CommandCtor = commands[command];
102
102
  const methodImpl = (args, options) => effect_1.Effect.tryPromise({
103
103
  try: () => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}),
@@ -140,4 +140,4 @@ exports.ElastiCacheServiceLayer = exports.BaseElastiCacheServiceLayer.pipe(effec
140
140
  * @category layers
141
141
  */
142
142
  exports.DefaultElastiCacheServiceLayer = exports.ElastiCacheServiceLayer.pipe(effect_1.Layer.provide(ElastiCacheClientInstanceConfig_1.DefaultElastiCacheClientConfigLayer));
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0VsYXN0aUNhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILG9FQW1PcUM7QUFFckMsbUNBQXNFO0FBQ3RFLDJFQUdxQztBQUNyQyx1RkFBd0Y7QUFDeEYscUNBT2tCO0FBRWxCLE1BQU0sUUFBUSxHQUFHO0lBQ2Ysd0JBQXdCLEVBQXhCLDZDQUF3QjtJQUN4Qix5Q0FBeUMsRUFBekMsOERBQXlDO0lBQ3pDLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsNEJBQTRCLEVBQTVCLGlEQUE0QjtJQUM1Qix3QkFBd0IsRUFBeEIsNkNBQXdCO0lBQ3hCLGtDQUFrQyxFQUFsQyx1REFBa0M7SUFDbEMsbUJBQW1CLEVBQW5CLHdDQUFtQjtJQUNuQix5QkFBeUIsRUFBekIsOENBQXlCO0lBQ3pCLGdDQUFnQyxFQUFoQyxxREFBZ0M7SUFDaEMsK0JBQStCLEVBQS9CLG9EQUErQjtJQUMvQiw2QkFBNkIsRUFBN0Isa0RBQTZCO0lBQzdCLG1DQUFtQyxFQUFuQyx3REFBbUM7SUFDbkMsNkJBQTZCLEVBQTdCLGtEQUE2QjtJQUM3Qiw0QkFBNEIsRUFBNUIsaURBQTRCO0lBQzVCLG9DQUFvQyxFQUFwQyx5REFBb0M7SUFDcEMscUJBQXFCLEVBQXJCLDBDQUFxQjtJQUNyQixpQkFBaUIsRUFBakIsc0NBQWlCO0lBQ2pCLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsaURBQWlELEVBQWpELHNFQUFpRDtJQUNqRCwyQkFBMkIsRUFBM0IsZ0RBQTJCO0lBQzNCLHlCQUF5QixFQUF6Qiw4Q0FBeUI7SUFDekIsZ0NBQWdDLEVBQWhDLHFEQUFnQztJQUNoQywrQkFBK0IsRUFBL0Isb0RBQStCO0lBQy9CLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsbUNBQW1DLEVBQW5DLHdEQUFtQztJQUNuQyw2QkFBNkIsRUFBN0Isa0RBQTZC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QkFBdUIsR0FBRyxtQ0FBMkIsQ0FBQyxJQUFJLENBQ3JFLGNBQUssQ0FBQyxPQUFPLENBQUMsMERBQThCLENBQUMsQ0FDOUMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsK0JBQXVCLENBQUMsSUFBSSxDQUN4RSxjQUFLLENBQUMsT0FBTyxDQUFDLHFFQUFtQyxDQUFDLENBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgdHlwZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0LFxuICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kLFxuICB0eXBlIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0LFxuICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmQsXG4gIHR5cGUgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDb3B5U25hcHNob3RDb21tYW5kLFxuICB0eXBlIENvcHlTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb3B5U25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIHR5cGUgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICBEZWxldGVVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUV2ZW50c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFdmVudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVVzZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVzZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVXNlcnNDb21tYW5kT3V0cHV0LFxuICBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBFbGFzdGlDYWNoZVNlcnZpY2VFeGNlcHRpb24sXG4gIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgdHlwZSBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXQsXG4gIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVVzZXJDb21tYW5kLFxuICB0eXBlIE1vZGlmeVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5VXNlckNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVVzZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kLFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXQsXG4gIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICB0eXBlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0TWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydE1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFRlc3RGYWlsb3ZlckNvbW1hbmQsXG4gIHR5cGUgVGVzdEZhaWxvdmVyQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RGYWlsb3ZlckNvbW1hbmRPdXRwdXQsXG4gIFRlc3RNaWdyYXRpb25Db21tYW5kLFxuICB0eXBlIFRlc3RNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZWxhc3RpY2FjaGVcIjtcbmltcG9ydCB7IHR5cGUgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSZWFkb25seVJlY29yZCwgRGF0YSB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2UsXG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnTGF5ZXIgfSBmcm9tIFwiLi9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5pbXBvcnQge1xuICBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvcixcbiAgSW52YWxpZENyZWRlbnRpYWxzRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcixcbiAgU2RrRXJyb3IsXG4gIFRhZ2dlZEV4Y2VwdGlvbixcbn0gZnJvbSBcIi4vRXJyb3JzXCI7XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmQsXG4gIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kLFxuICBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICBDb3B5U25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICBDcmVhdGVTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZVVzZXJDb21tYW5kLFxuICBDcmVhdGVVc2VyR3JvdXBDb21tYW5kLFxuICBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIERlbGV0ZVNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlVXNlckNvbW1hbmQsXG4gIERlbGV0ZVVzZXJHcm91cENvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kLFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kLFxuICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kLFxuICBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmQsXG4gIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmQsXG4gIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlVXNlcnNDb21tYW5kLFxuICBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgTW9kaWZ5VXNlckNvbW1hbmQsXG4gIE1vZGlmeVVzZXJHcm91cENvbW1hbmQsXG4gIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kLFxuICBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kLFxuICBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgU3RhcnRNaWdyYXRpb25Db21tYW5kLFxuICBUZXN0RmFpbG92ZXJDb21tYW5kLFxuICBUZXN0TWlncmF0aW9uQ29tbWFuZCxcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCB0eXBlIEVsYXN0aUNhY2hlU2VydmljZSA9IHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkVGFnc1RvUmVzb3VyY2U6IChcbiAgICBhcmdzOiBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzczogKFxuICAgIGFyZ3M6IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBiYXRjaEFwcGx5VXBkYXRlQWN0aW9uOiAoXG4gICAgYXJnczogQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBiYXRjaFN0b3BVcGRhdGVBY3Rpb246IChcbiAgICBhcmdzOiBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBsZXRlTWlncmF0aW9uOiAoXG4gICAgYXJnczogQ29tcGxldGVNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiAoXG4gICAgYXJnczogQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNvcHlTbmFwc2hvdDogKFxuICAgIGFyZ3M6IENvcHlTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENvcHlTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVDYWNoZUNsdXN0ZXI6IChcbiAgICBhcmdzOiBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlU3VibmV0R3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU2VydmVybGVzc0NhY2hlOiAoXG4gICAgYXJnczogQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiAoXG4gICAgYXJnczogQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVNuYXBzaG90OiAoXG4gICAgYXJnczogQ3JlYXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlVXNlcjogKFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVVc2VyQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVVzZXJHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlY3JlYXNlUmVwbGljYUNvdW50OiAoXG4gICAgYXJnczogRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVDYWNoZUNsdXN0ZXI6IChcbiAgICBhcmdzOiBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVDYWNoZVNlY3VyaXR5R3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlU3VibmV0R3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlU2VydmVybGVzc0NhY2hlOiAoXG4gICAgYXJnczogRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiAoXG4gICAgYXJnczogRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlU25hcHNob3Q6IChcbiAgICBhcmdzOiBEZWxldGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVVc2VyOiAoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVVc2VyR3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVVc2VyR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlQ2x1c3RlcnM6IChcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZVBhcmFtZXRlcnM6IChcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFdmVudHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVFdmVudHM6IChcbiAgICBhcmdzOiBEZXNjcmliZUV2ZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlRXZlbnRzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzOiAoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzOiAoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZVNlcnZlcmxlc3NDYWNoZXM6IChcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90czogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmljZVVwZGF0ZXM6IChcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU25hcHNob3RzOiAoXG4gICAgYXJnczogRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZVVwZGF0ZUFjdGlvbnM6IChcbiAgICBhcmdzOiBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVVc2VyR3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlVXNlcnM6IChcbiAgICBhcmdzOiBEZXNjcmliZVVzZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVVc2Vyc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBleHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogKFxuICAgIGFyZ3M6IEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBmYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgaW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBpbmNyZWFzZVJlcGxpY2FDb3VudDogKFxuICAgIGFyZ3M6IEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBsaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uczogKFxuICAgIGFyZ3M6IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RUYWdzRm9yUmVzb3VyY2U6IChcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5Q2FjaGVDbHVzdGVyOiAoXG4gICAgYXJnczogTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwOiAoXG4gICAgYXJnczogTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeUNhY2hlU3VibmV0R3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb246IChcbiAgICBhcmdzOiBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5VXNlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlVc2VyOiAoXG4gICAgYXJnczogTW9kaWZ5VXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IE1vZGlmeVVzZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5VXNlckdyb3VwOiAoXG4gICAgYXJnczogTW9kaWZ5VXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBwdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nOiAoXG4gICAgYXJnczogUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZWJvb3RDYWNoZUNsdXN0ZXI6IChcbiAgICBhcmdzOiBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZW1vdmVUYWdzRnJvbVJlc291cmNlOiAoXG4gICAgYXJnczogUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzczogKFxuICAgIGFyZ3M6IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRNaWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRNaWdyYXRpb246IChcbiAgICBhcmdzOiBTdGFydE1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFN0YXJ0TWlncmF0aW9uQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0RmFpbG92ZXJDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdEZhaWxvdmVyOiAoXG4gICAgYXJnczogVGVzdEZhaWxvdmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgVGVzdEZhaWxvdmVyQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGVzdE1pZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSB0ZXN0TWlncmF0aW9uOiAoXG4gICAgYXJnczogVGVzdE1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFRlc3RNaWdyYXRpb25Db21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG59O1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IEVsYXN0aUNhY2hlU2VydmljZSA9IENvbnRleHQuR2VuZXJpY1RhZzxFbGFzdGlDYWNoZVNlcnZpY2U+KFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1lbGFzdGljYWNoZS9FbGFzdGlDYWNoZVNlcnZpY2VcIixcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRWxhc3RpQ2FjaGVTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlYWRvbmx5UmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFbGFzdGlDYWNoZVNlcnZpY2VFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgRWxhc3RpQ2FjaGVTZXJ2aWNlO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEVsYXN0aUNhY2hlU2VydmljZSxcbiAgbWFrZUVsYXN0aUNhY2hlU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBFbGFzdGlDYWNoZVNlcnZpY2VMYXllciA9IEJhc2VFbGFzdGlDYWNoZVNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEVsYXN0aUNhY2hlU2VydmljZUxheWVyID0gRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0VsYXN0aUNhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILG9FQW1PcUM7QUFFckMsbUNBQThEO0FBQzlELDJFQUdxQztBQUNyQyx1RkFBd0Y7QUFDeEYscUNBT2tCO0FBRWxCLE1BQU0sUUFBUSxHQUFHO0lBQ2Ysd0JBQXdCLEVBQXhCLDZDQUF3QjtJQUN4Qix5Q0FBeUMsRUFBekMsOERBQXlDO0lBQ3pDLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsNEJBQTRCLEVBQTVCLGlEQUE0QjtJQUM1Qix3QkFBd0IsRUFBeEIsNkNBQXdCO0lBQ3hCLGtDQUFrQyxFQUFsQyx1REFBa0M7SUFDbEMsbUJBQW1CLEVBQW5CLHdDQUFtQjtJQUNuQix5QkFBeUIsRUFBekIsOENBQXlCO0lBQ3pCLGdDQUFnQyxFQUFoQyxxREFBZ0M7SUFDaEMsK0JBQStCLEVBQS9CLG9EQUErQjtJQUMvQiw2QkFBNkIsRUFBN0Isa0RBQTZCO0lBQzdCLG1DQUFtQyxFQUFuQyx3REFBbUM7SUFDbkMsNkJBQTZCLEVBQTdCLGtEQUE2QjtJQUM3Qiw0QkFBNEIsRUFBNUIsaURBQTRCO0lBQzVCLG9DQUFvQyxFQUFwQyx5REFBb0M7SUFDcEMscUJBQXFCLEVBQXJCLDBDQUFxQjtJQUNyQixpQkFBaUIsRUFBakIsc0NBQWlCO0lBQ2pCLHNCQUFzQixFQUF0QiwyQ0FBc0I7SUFDdEIsaURBQWlELEVBQWpELHNFQUFpRDtJQUNqRCwyQkFBMkIsRUFBM0IsZ0RBQTJCO0lBQzNCLHlCQUF5QixFQUF6Qiw4Q0FBeUI7SUFDekIsZ0NBQWdDLEVBQWhDLHFEQUFnQztJQUNoQywrQkFBK0IsRUFBL0Isb0RBQStCO0lBQy9CLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsbUNBQW1DLEVBQW5DLHdEQUFtQztJQUNuQyw2QkFBNkIsRUFBN0Isa0RBQTZC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Ozs7R0FHRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsbUNBQTJCLENBQUMsSUFBSSxDQUNyRSxjQUFLLENBQUMsT0FBTyxDQUFDLDBEQUE4QixDQUFDLENBQzlDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLDhCQUE4QixHQUFHLCtCQUF1QixDQUFDLElBQUksQ0FDeEUsY0FBSyxDQUFDLE9BQU8sQ0FBQyxxRUFBbUMsQ0FBQyxDQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kLFxuICB0eXBlIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5U25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kLFxuICB0eXBlIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2Vyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJzQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRWxhc3RpQ2FjaGVTZXJ2aWNlRXhjZXB0aW9uLFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIHR5cGUgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVVzZXJDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgdHlwZSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICBUZXN0RmFpbG92ZXJDb21tYW5kLFxuICB0eXBlIFRlc3RGYWlsb3ZlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0LFxuICBUZXN0TWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBUZXN0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWVsYXN0aWNhY2hlXCI7XG5pbXBvcnQgeyB0eXBlIEh0dHBIYW5kbGVyT3B0aW9ucyBhcyBfX0h0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgRWZmZWN0LCBMYXllciwgUmVjb3JkLCBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSxcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEVsYXN0aUNhY2hlU2VydmljZUVycm9yLFxuICBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmQsXG4gIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZVNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVVzZXJHcm91cENvbW1hbmQsXG4gIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2Vyc0NvbW1hbmQsXG4gIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZCxcbiAgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIFRlc3RGYWlsb3ZlckNvbW1hbmQsXG4gIFRlc3RNaWdyYXRpb25Db21tYW5kLFxufTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IHR5cGUgRWxhc3RpQ2FjaGVTZXJ2aWNlID0ge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhZGRUYWdzVG9SZXNvdXJjZTogKFxuICAgIGFyZ3M6IEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiAoXG4gICAgYXJnczogQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoQXBwbHlVcGRhdGVBY3Rpb246IChcbiAgICBhcmdzOiBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU3RvcFVwZGF0ZUFjdGlvbjogKFxuICAgIGFyZ3M6IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGxldGVNaWdyYXRpb246IChcbiAgICBhcmdzOiBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5U25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29weVNuYXBzaG90OiAoXG4gICAgYXJnczogQ29weVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ29weVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDcmVhdGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVVc2VyOiAoXG4gICAgYXJnczogQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlVXNlckdyb3VwOiAoXG4gICAgYXJnczogQ3JlYXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVjcmVhc2VSZXBsaWNhQ291bnQ6IChcbiAgICBhcmdzOiBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQ2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVTbmFwc2hvdDogKFxuICAgIGFyZ3M6IERlbGV0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVVzZXI6IChcbiAgICBhcmdzOiBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVXNlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVVzZXJHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlQ2FjaGVDbHVzdGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnM6IChcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlUGFyYW1ldGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzOiAoXG4gICAgYXJnczogRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV2ZW50c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUV2ZW50czogKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwczogKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXM6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3M6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmVybGVzc0NhY2hlczogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzOiAoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVTZXJ2aWNlVXBkYXRlczogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVTbmFwc2hvdHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlU25hcHNob3RzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlVXBkYXRlQWN0aW9uczogKFxuICAgIGFyZ3M6IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZVVzZXJHcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVVc2VyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVzZXJzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiAoXG4gICAgYXJnczogRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBpbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGluY3JlYXNlUmVwbGljYUNvdW50OiAoXG4gICAgYXJnczogSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdFRhZ3NGb3JSZXNvdXJjZTogKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlDYWNoZUNsdXN0ZXI6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5Q2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVNlcnZlcmxlc3NDYWNoZTogKFxuICAgIGFyZ3M6IE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlVc2VyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVVzZXI6IChcbiAgICBhcmdzOiBNb2RpZnlVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5VXNlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlVc2VyR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlVc2VyR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmc6IChcbiAgICBhcmdzOiBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYm9vdENhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92ZVRhZ3NGcm9tUmVzb3VyY2U6IChcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwOiAoXG4gICAgYXJnczogUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiAoXG4gICAgYXJnczogUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydE1pZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBzdGFydE1pZ3JhdGlvbjogKFxuICAgIGFyZ3M6IFN0YXJ0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRlc3RGYWlsb3ZlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSB0ZXN0RmFpbG92ZXI6IChcbiAgICBhcmdzOiBUZXN0RmFpbG92ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0TWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RNaWdyYXRpb246IChcbiAgICBhcmdzOiBUZXN0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgVGVzdE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY29uc3QgRWxhc3RpQ2FjaGVTZXJ2aWNlID0gQ29udGV4dC5HZW5lcmljVGFnPEVsYXN0aUNhY2hlU2VydmljZT4oXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWVsYXN0aWNhY2hlL0VsYXN0aUNhY2hlU2VydmljZVwiLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VFbGFzdGlDYWNoZVNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFbGFzdGlDYWNoZVNlcnZpY2VFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgRWxhc3RpQ2FjaGVTZXJ2aWNlO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEVsYXN0aUNhY2hlU2VydmljZSxcbiAgbWFrZUVsYXN0aUNhY2hlU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBFbGFzdGlDYWNoZVNlcnZpY2VMYXllciA9IEJhc2VFbGFzdGlDYWNoZVNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEVsYXN0aUNhY2hlU2VydmljZUxheWVyID0gRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
@@ -2,7 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import { AddTagsToResourceCommand, AuthorizeCacheSecurityGroupIngressCommand, BatchApplyUpdateActionCommand, BatchStopUpdateActionCommand, CompleteMigrationCommand, CopyServerlessCacheSnapshotCommand, CopySnapshotCommand, CreateCacheClusterCommand, CreateCacheParameterGroupCommand, CreateCacheSecurityGroupCommand, CreateCacheSubnetGroupCommand, CreateGlobalReplicationGroupCommand, CreateReplicationGroupCommand, CreateServerlessCacheCommand, CreateServerlessCacheSnapshotCommand, CreateSnapshotCommand, CreateUserCommand, CreateUserGroupCommand, DecreaseNodeGroupsInGlobalReplicationGroupCommand, DecreaseReplicaCountCommand, DeleteCacheClusterCommand, DeleteCacheParameterGroupCommand, DeleteCacheSecurityGroupCommand, DeleteCacheSubnetGroupCommand, DeleteGlobalReplicationGroupCommand, DeleteReplicationGroupCommand, DeleteServerlessCacheCommand, DeleteServerlessCacheSnapshotCommand, DeleteSnapshotCommand, DeleteUserCommand, DeleteUserGroupCommand, DescribeCacheClustersCommand, DescribeCacheEngineVersionsCommand, DescribeCacheParameterGroupsCommand, DescribeCacheParametersCommand, DescribeCacheSecurityGroupsCommand, DescribeCacheSubnetGroupsCommand, DescribeEngineDefaultParametersCommand, DescribeEventsCommand, DescribeGlobalReplicationGroupsCommand, DescribeReplicationGroupsCommand, DescribeReservedCacheNodesCommand, DescribeReservedCacheNodesOfferingsCommand, DescribeServerlessCachesCommand, DescribeServerlessCacheSnapshotsCommand, DescribeServiceUpdatesCommand, DescribeSnapshotsCommand, DescribeUpdateActionsCommand, DescribeUserGroupsCommand, DescribeUsersCommand, DisassociateGlobalReplicationGroupCommand, ElastiCacheServiceException, ExportServerlessCacheSnapshotCommand, FailoverGlobalReplicationGroupCommand, IncreaseNodeGroupsInGlobalReplicationGroupCommand, IncreaseReplicaCountCommand, ListAllowedNodeTypeModificationsCommand, ListTagsForResourceCommand, ModifyCacheClusterCommand, ModifyCacheParameterGroupCommand, ModifyCacheSubnetGroupCommand, ModifyGlobalReplicationGroupCommand, ModifyReplicationGroupCommand, ModifyReplicationGroupShardConfigurationCommand, ModifyServerlessCacheCommand, ModifyUserCommand, ModifyUserGroupCommand, PurchaseReservedCacheNodesOfferingCommand, RebalanceSlotsInGlobalReplicationGroupCommand, RebootCacheClusterCommand, RemoveTagsFromResourceCommand, ResetCacheParameterGroupCommand, RevokeCacheSecurityGroupIngressCommand, StartMigrationCommand, TestFailoverCommand, TestMigrationCommand, } from "@aws-sdk/client-elasticache";
5
- import { Context, Effect, Layer, ReadonlyRecord, Data } from "effect";
5
+ import { Context, Effect, Layer, Record, Data } from "effect";
6
6
  import { ElastiCacheClientInstance, ElastiCacheClientInstanceLayer, } from "./ElastiCacheClientInstance";
7
7
  import { DefaultElastiCacheClientConfigLayer } from "./ElastiCacheClientInstanceConfig";
8
8
  import { SdkError, } from "./Errors";
@@ -94,7 +94,7 @@ export const ElastiCacheService = Context.GenericTag("@effect-aws/client-elastic
94
94
  */
95
95
  export const makeElastiCacheService = Effect.gen(function* (_) {
96
96
  const client = yield* _(ElastiCacheClientInstance);
97
- return ReadonlyRecord.toEntries(commands).reduce((acc, [command]) => {
97
+ return Record.toEntries(commands).reduce((acc, [command]) => {
98
98
  const CommandCtor = commands[command];
99
99
  const methodImpl = (args, options) => Effect.tryPromise({
100
100
  try: () => client.send(new CommandCtor(args), options !== null && options !== void 0 ? options : {}),
@@ -137,4 +137,4 @@ export const ElastiCacheServiceLayer = BaseElastiCacheServiceLayer.pipe(Layer.pr
137
137
  * @category layers
138
138
  */
139
139
  export const DefaultElastiCacheServiceLayer = ElastiCacheServiceLayer.pipe(Layer.provide(DefaultElastiCacheClientConfigLayer));
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VsYXN0aUNhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIseUNBQXlDLEVBR3pDLDZCQUE2QixFQUc3Qiw0QkFBNEIsRUFHNUIsd0JBQXdCLEVBR3hCLGtDQUFrQyxFQUdsQyxtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLGdDQUFnQyxFQUdoQywrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLG1DQUFtQyxFQUduQyw2QkFBNkIsRUFHN0IsNEJBQTRCLEVBRzVCLG9DQUFvQyxFQUdwQyxxQkFBcUIsRUFHckIsaUJBQWlCLEVBR2pCLHNCQUFzQixFQUd0QixpREFBaUQsRUFHakQsMkJBQTJCLEVBRzNCLHlCQUF5QixFQUd6QixnQ0FBZ0MsRUFHaEMsK0JBQStCLEVBRy9CLDZCQUE2QixFQUc3QixtQ0FBbUMsRUFHbkMsNkJBQTZCLEVBRzdCLDRCQUE0QixFQUc1QixvQ0FBb0MsRUFHcEMscUJBQXFCLEVBR3JCLGlCQUFpQixFQUdqQixzQkFBc0IsRUFHdEIsNEJBQTRCLEVBRzVCLGtDQUFrQyxFQUdsQyxtQ0FBbUMsRUFHbkMsOEJBQThCLEVBRzlCLGtDQUFrQyxFQUdsQyxnQ0FBZ0MsRUFHaEMsc0NBQXNDLEVBR3RDLHFCQUFxQixFQUdyQixzQ0FBc0MsRUFHdEMsZ0NBQWdDLEVBR2hDLGlDQUFpQyxFQUdqQywwQ0FBMEMsRUFHMUMsK0JBQStCLEVBRy9CLHVDQUF1QyxFQUd2Qyw2QkFBNkIsRUFHN0Isd0JBQXdCLEVBR3hCLDRCQUE0QixFQUc1Qix5QkFBeUIsRUFHekIsb0JBQW9CLEVBR3BCLHlDQUF5QyxFQUd6QywyQkFBMkIsRUFDM0Isb0NBQW9DLEVBR3BDLHFDQUFxQyxFQUdyQyxpREFBaUQsRUFHakQsMkJBQTJCLEVBRzNCLHVDQUF1QyxFQUd2QywwQkFB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LEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QyxDQUFDLEVBQUUsRUFBRSxDQUF1QixDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDckQsa0JBQWtCLEVBQ2xCLHNCQUFzQixDQUN2QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUNyRSxLQUFLLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQzlDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQ3hFLEtBQUssQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICB0eXBlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kLFxuICB0eXBlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENvcHlTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ29weVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVVzZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVVzZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgdHlwZSBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXZlbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVXNlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVXNlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVc2Vyc0NvbW1hbmRPdXRwdXQsXG4gIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbixcbiAgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kLFxuICB0eXBlIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZElucHV0LFxuICB0eXBlIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dCxcbiAgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5VXNlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5VXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlVc2VyQ29tbWFuZE91dHB1dCxcbiAgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZE91dHB1dCxcbiAgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRNaWdyYXRpb25Db21tYW5kLFxuICB0eXBlIFN0YXJ0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0TWlncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVGVzdEZhaWxvdmVyQ29tbWFuZCxcbiAgdHlwZSBUZXN0RmFpbG92ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdEZhaWxvdmVyQ29tbWFuZE91dHB1dCxcbiAgVGVzdE1pZ3JhdGlvbkNvbW1hbmQsXG4gIHR5cGUgVGVzdE1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUZXN0TWlncmF0aW9uQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1lbGFzdGljYWNoZVwiO1xuaW1wb3J0IHsgdHlwZSBIdHRwSGFuZGxlck9wdGlvbnMgYXMgX19IdHRwSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJlYWRvbmx5UmVjb3JkLCBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSxcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEVsYXN0aUNhY2hlU2VydmljZUVycm9yLFxuICBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmQsXG4gIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZVNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVVzZXJHcm91cENvbW1hbmQsXG4gIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2Vyc0NvbW1hbmQsXG4gIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZCxcbiAgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIFRlc3RGYWlsb3ZlckNvbW1hbmQsXG4gIFRlc3RNaWdyYXRpb25Db21tYW5kLFxufTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IHR5cGUgRWxhc3RpQ2FjaGVTZXJ2aWNlID0ge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhZGRUYWdzVG9SZXNvdXJjZTogKFxuICAgIGFyZ3M6IEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiAoXG4gICAgYXJnczogQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoQXBwbHlVcGRhdGVBY3Rpb246IChcbiAgICBhcmdzOiBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU3RvcFVwZGF0ZUFjdGlvbjogKFxuICAgIGFyZ3M6IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGxldGVNaWdyYXRpb246IChcbiAgICBhcmdzOiBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5U25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29weVNuYXBzaG90OiAoXG4gICAgYXJnczogQ29weVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ29weVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDcmVhdGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVVc2VyOiAoXG4gICAgYXJnczogQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlVXNlckdyb3VwOiAoXG4gICAgYXJnczogQ3JlYXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVjcmVhc2VSZXBsaWNhQ291bnQ6IChcbiAgICBhcmdzOiBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQ2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVTbmFwc2hvdDogKFxuICAgIGFyZ3M6IERlbGV0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVVzZXI6IChcbiAgICBhcmdzOiBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVXNlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVVzZXJHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlQ2FjaGVDbHVzdGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnM6IChcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlUGFyYW1ldGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzOiAoXG4gICAgYXJnczogRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV2ZW50c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUV2ZW50czogKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwczogKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXM6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3M6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmVybGVzc0NhY2hlczogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzOiAoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVTZXJ2aWNlVXBkYXRlczogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVTbmFwc2hvdHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlU25hcHNob3RzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlVXBkYXRlQWN0aW9uczogKFxuICAgIGFyZ3M6IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZVVzZXJHcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVVc2VyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVzZXJzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiAoXG4gICAgYXJnczogRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBpbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGluY3JlYXNlUmVwbGljYUNvdW50OiAoXG4gICAgYXJnczogSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdFRhZ3NGb3JSZXNvdXJjZTogKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlDYWNoZUNsdXN0ZXI6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5Q2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVNlcnZlcmxlc3NDYWNoZTogKFxuICAgIGFyZ3M6IE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlVc2VyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVVzZXI6IChcbiAgICBhcmdzOiBNb2RpZnlVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5VXNlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlVc2VyR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlVc2VyR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmc6IChcbiAgICBhcmdzOiBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYm9vdENhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92ZVRhZ3NGcm9tUmVzb3VyY2U6IChcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwOiAoXG4gICAgYXJnczogUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiAoXG4gICAgYXJnczogUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydE1pZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBzdGFydE1pZ3JhdGlvbjogKFxuICAgIGFyZ3M6IFN0YXJ0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRlc3RGYWlsb3ZlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSB0ZXN0RmFpbG92ZXI6IChcbiAgICBhcmdzOiBUZXN0RmFpbG92ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0TWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RNaWdyYXRpb246IChcbiAgICBhcmdzOiBUZXN0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgVGVzdE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY29uc3QgRWxhc3RpQ2FjaGVTZXJ2aWNlID0gQ29udGV4dC5HZW5lcmljVGFnPEVsYXN0aUNhY2hlU2VydmljZT4oXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWVsYXN0aWNhY2hlL0VsYXN0aUNhY2hlU2VydmljZVwiLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VFbGFzdGlDYWNoZVNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVhZG9ubHlSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM6IGFueSkgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoKSA9PiBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIG9wdGlvbnMgPz8ge30pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248RWxhc3RpQ2FjaGVTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBFbGFzdGlDYWNoZVNlcnZpY2U7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VFbGFzdGlDYWNoZVNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgRWxhc3RpQ2FjaGVTZXJ2aWNlLFxuICBtYWtlRWxhc3RpQ2FjaGVTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEVsYXN0aUNhY2hlU2VydmljZUxheWVyID0gQmFzZUVsYXN0aUNhY2hlU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0RWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBFbGFzdGlDYWNoZVNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRFbGFzdGlDYWNoZUNsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VsYXN0aUNhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIseUNBQXlDLEVBR3pDLDZCQUE2QixFQUc3Qiw0QkFBNEIsRUFHNUIsd0JBQXdCLEVBR3hCLGtDQUFrQyxFQUdsQyxtQkFBbUIsRUFHbkIseUJBQXlCLEVBR3pCLGdDQUFnQyxFQUdoQywrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLG1DQUFtQyxFQUduQyw2QkFBNkIsRUFHN0IsNEJBQTRCLEVBRzVCLG9DQUFvQyxFQUdwQyxxQkFBcUIsRUFHckIsaUJBQWlCLEVBR2pCLHNCQUFzQixFQUd0QixpREFBaUQsRUFHakQsMkJBQTJCLEVBRzNCLHlCQUF5QixFQUd6QixnQ0FBZ0MsRUFHaEMsK0JBQStCLEVBRy9CLDZCQUE2QixFQUc3QixtQ0FBbUMsRUFHbkMsNkJBQTZCLEVBRzdCLDRCQUE0QixFQUc1QixvQ0FBb0MsRUFHcEMscUJBQXFCLEVBR3JCLGlCQUFpQixFQUdqQixzQkFBc0IsRUFHdEIsNEJBQTRCLEVBRzVCLGtDQUFrQyxFQUdsQyxtQ0FBbUMsRUFHbkMsOEJBQThCLEVBRzlCLGtDQUFrQyxFQUdsQyxnQ0FBZ0MsRUFHaEMsc0NBQXNDLEVBR3RDLHFCQUFxQixFQUdyQixzQ0FBc0MsRUFHdEMsZ0NBQWdDLEVBR2hDLGlDQUFpQyxFQUdqQywwQ0FBMEMsRUFHMUMsK0JBQStCLEVBRy9CLHVDQUF1QyxFQUd2Qyw2QkFBNkIsRUFHN0Isd0JBQXdCLEVBR3hCLDRCQUE0QixFQUc1Qix5QkFBeUIsRUFHekIsb0JBQW9CLEVBR3BCLHlDQUF5QyxFQUd6QywyQkFBMkIsRUFDM0Isb0NBQW9DLEVBR3BDLHFDQUFxQyxFQUdyQyxpREFBaUQsRUFHakQsMkJBQTJCLEVBRzNCLHVDQUF1QyxFQUd2QywwQkFBMEIsRUFHMUIseUJBQXlCLEVBR3pCLGdDQUFnQyxFQUdoQyw2QkFBNkIsRUFHN0IsbUNBQW1DLEVBR25DLDZCQUE2QixFQUc3QiwrQ0FBK0MsRUFHL0MsNEJBQTRCLEVBRzVCLGlCQUFpQixFQUdqQixzQkFBc0IsRUFHdEIseUNBQXlDLEVBR3pDLDZDQUE2QyxFQUc3Qyx5QkFBeUIsRUFHekIsNkJBQTZCLEVBRzdCLCtCQUErQixFQUcvQixzQ0FBc0MsRUFHdEMscUJBQXFCLEVBR3JCLG1CQUFtQixFQUduQixvQkFBb0IsR0FHckIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5RCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDhCQUE4QixHQUMvQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFLTCxRQUFRLEdBRVQsTUFBTSxVQUFVLENBQUM7QUFFbEIsTUFBTSxRQUFRLEdBQUc7SUFDZix3QkFBd0I7SUFDeEIseUNBQXlDO0lBQ3pDLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLGtDQUFrQztJQUNsQyxtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGdDQUFnQztJQUNoQywrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLG1DQUFtQztJQUNuQyw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLG9DQUFvQztJQUNwQyxxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QixpREFBaUQ7SUFDakQsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixnQ0FBZ0M7SUFDaEMsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixtQ0FBbUM7SUFDbkMsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1QixvQ0FBb0M7SUFDcEMscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLGtDQUFrQztJQUNsQyxtQ0FBbUM7SUFDbkMsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQyxnQ0FBZ0M7SUFDaEMsc0NBQXNDO0lBQ3RDLHFCQUFxQjtJQUNyQixzQ0FBc0M7SUFDdEMsZ0NBQWdDO0lBQ2hDLGlDQUFpQztJQUNqQywwQ0FBMEM7SUFDMUMsK0JBQStCO0lBQy9CLHVDQUF1QztJQUN2Qyw2QkFBNkI7SUFDN0Isd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsb0JBQW9CO0lBQ3BCLHlDQUF5QztJQUN6QyxvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLGlEQUFpRDtJQUNqRCwyQkFBMkI7SUFDM0IsdUNBQXVDO0lBQ3ZDLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3QixtQ0FBbUM7SUFDbkMsNkJBQTZCO0lBQzdCLCtDQUErQztJQUMvQyw0QkFBNEI7SUFDNUIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0Qix5Q0FBeUM7SUFDekMsNkNBQTZDO0lBQzdDLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLHNDQUFzQztJQUN0QyxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLG9CQUFvQjtDQUNyQixDQUFDO0FBaS9CRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUNsRCxtREFBbUQsQ0FDcEQsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUVuRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxFQUFFLENBQUM7WUFDNUQsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksMkJBQTJCLEVBQUUsQ0FBQztvQkFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLFFBQVEsQ0FBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQXVCLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNyRCxrQkFBa0IsRUFDbEIsc0JBQXNCLENBQ3ZCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQ3JFLEtBQUssQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FDOUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FDeEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgQWRkVGFnc1RvUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIHR5cGUgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZE91dHB1dCxcbiAgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kLFxuICB0eXBlIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ29weVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDb3B5U25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29weVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIENyZWF0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kLFxuICB0eXBlIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU25hcHNob3RDb21tYW5kLFxuICB0eXBlIERlbGV0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFdmVudHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2Vyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJzQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRWxhc3RpQ2FjaGVTZXJ2aWNlRXhjZXB0aW9uLFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gIHR5cGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmQsXG4gIHR5cGUgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kT3V0cHV0LFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICB0eXBlIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgdHlwZSBNb2RpZnlVc2VyQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVVzZXJDb21tYW5kT3V0cHV0LFxuICBNb2RpZnlVc2VyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBNb2RpZnlVc2VyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZCxcbiAgdHlwZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kT3V0cHV0LFxuICBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kLFxuICB0eXBlIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0LFxuICBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZCxcbiAgdHlwZSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICBUZXN0RmFpbG92ZXJDb21tYW5kLFxuICB0eXBlIFRlc3RGYWlsb3ZlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0LFxuICBUZXN0TWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBUZXN0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWVsYXN0aWNhY2hlXCI7XG5pbXBvcnQgeyB0eXBlIEh0dHBIYW5kbGVyT3B0aW9ucyBhcyBfX0h0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgRWZmZWN0LCBMYXllciwgUmVjb3JkLCBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHtcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSxcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyLFxufSBmcm9tIFwiLi9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlXCI7XG5pbXBvcnQgeyBEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciB9IGZyb20gXCIuL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmltcG9ydCB7XG4gIEVsYXN0aUNhY2hlU2VydmljZUVycm9yLFxuICBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmQsXG4gIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZVNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVVzZXJHcm91cENvbW1hbmQsXG4gIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2Vyc0NvbW1hbmQsXG4gIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZCxcbiAgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIFRlc3RGYWlsb3ZlckNvbW1hbmQsXG4gIFRlc3RNaWdyYXRpb25Db21tYW5kLFxufTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IHR5cGUgRWxhc3RpQ2FjaGVTZXJ2aWNlID0ge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhZGRUYWdzVG9SZXNvdXJjZTogKFxuICAgIGFyZ3M6IEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiAoXG4gICAgYXJnczogQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoQXBwbHlVcGRhdGVBY3Rpb246IChcbiAgICBhcmdzOiBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU3RvcFVwZGF0ZUFjdGlvbjogKFxuICAgIGFyZ3M6IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGxldGVNaWdyYXRpb246IChcbiAgICBhcmdzOiBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb3B5U25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY29weVNuYXBzaG90OiAoXG4gICAgYXJnczogQ29weVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ29weVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQ2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlU25hcHNob3Q6IChcbiAgICBhcmdzOiBDcmVhdGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVVc2VyOiAoXG4gICAgYXJnczogQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlVXNlckdyb3VwOiAoXG4gICAgYXJnczogQ3JlYXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVjcmVhc2VSZXBsaWNhQ291bnQ6IChcbiAgICBhcmdzOiBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQ2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVTZXJ2ZXJsZXNzQ2FjaGU6IChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZWxldGVTbmFwc2hvdDogKFxuICAgIGFyZ3M6IERlbGV0ZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlU25hcHNob3RDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVVzZXI6IChcbiAgICBhcmdzOiBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVXNlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVVzZXJHcm91cDogKFxuICAgIGFyZ3M6IERlbGV0ZVVzZXJHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlbGV0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlQ2FjaGVDbHVzdGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnM6IChcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlUGFyYW1ldGVyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzOiAoXG4gICAgYXJnczogRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCB8IFNka0Vycm9yIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzOiAoXG4gICAgYXJnczogRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV2ZW50c0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZUV2ZW50czogKFxuICAgIGFyZ3M6IERlc2NyaWJlRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVFdmVudHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwczogKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXM6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3M6IChcbiAgICBhcmdzOiBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmVybGVzc0NhY2hlczogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzOiAoXG4gICAgYXJnczogRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVTZXJ2aWNlVXBkYXRlczogKFxuICAgIGFyZ3M6IERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVTbmFwc2hvdHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlU25hcHNob3RzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaWJlVXBkYXRlQWN0aW9uczogKFxuICAgIGFyZ3M6IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBkZXNjcmliZVVzZXJHcm91cHM6IChcbiAgICBhcmdzOiBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVzZXJHcm91cHNDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlcnNDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpYmVVc2VyczogKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBEZXNjcmliZVVzZXJzQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiAoXG4gICAgYXJnczogRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBpbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGluY3JlYXNlUmVwbGljYUNvdW50OiAoXG4gICAgYXJnczogSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IGxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zOiAoXG4gICAgYXJnczogTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdFRhZ3NGb3JSZXNvdXJjZTogKFxuICAgIGFyZ3M6IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlDYWNoZUNsdXN0ZXI6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5Q2FjaGVTdWJuZXRHcm91cDogKFxuICAgIGFyZ3M6IE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQgfCBTZGtFcnJvciB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cDogKFxuICAgIGFyZ3M6IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVJlcGxpY2F0aW9uR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbjogKFxuICAgIGFyZ3M6IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVNlcnZlcmxlc3NDYWNoZTogKFxuICAgIGFyZ3M6IE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlVc2VyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmeVVzZXI6IChcbiAgICBhcmdzOiBNb2RpZnlVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgTW9kaWZ5VXNlckNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBtb2RpZnlVc2VyR3JvdXA6IChcbiAgICBhcmdzOiBNb2RpZnlVc2VyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBNb2RpZnlVc2VyR3JvdXBDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmc6IChcbiAgICBhcmdzOiBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiAoXG4gICAgYXJnczogUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlYm9vdENhY2hlQ2x1c3RlcjogKFxuICAgIGFyZ3M6IFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJvb3RDYWNoZUNsdXN0ZXJDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92ZVRhZ3NGcm9tUmVzb3VyY2U6IChcbiAgICBhcmdzOiBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kT3V0cHV0IHwgU2RrRXJyb3IgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwOiAoXG4gICAgYXJnczogUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEVsYXN0aUNhY2hlU2VydmljZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSByZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiAoXG4gICAgYXJnczogUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICkgPT4gRWZmZWN0LkVmZmVjdDxcbiAgICB8IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydE1pZ3JhdGlvbkNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSBzdGFydE1pZ3JhdGlvbjogKFxuICAgIGFyZ3M6IFN0YXJ0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgU3RhcnRNaWdyYXRpb25Db21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRlc3RGYWlsb3ZlckNvbW1hbmR9XG4gICAqL1xuICByZWFkb25seSB0ZXN0RmFpbG92ZXI6IChcbiAgICBhcmdzOiBUZXN0RmFpbG92ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApID0+IEVmZmVjdC5FZmZlY3Q8XG4gICAgfCBUZXN0RmFpbG92ZXJDb21tYW5kT3V0cHV0XG4gICAgfCBTZGtFcnJvclxuICAgIHwgRWxhc3RpQ2FjaGVTZXJ2aWNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0TWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RNaWdyYXRpb246IChcbiAgICBhcmdzOiBUZXN0TWlncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKSA9PiBFZmZlY3QuRWZmZWN0PFxuICAgIHwgVGVzdE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXRcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFbGFzdGlDYWNoZVNlcnZpY2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY29uc3QgRWxhc3RpQ2FjaGVTZXJ2aWNlID0gQ29udGV4dC5HZW5lcmljVGFnPEVsYXN0aUNhY2hlU2VydmljZT4oXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWVsYXN0aWNhY2hlL0VsYXN0aUNhY2hlU2VydmljZVwiLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VFbGFzdGlDYWNoZVNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFbGFzdGlDYWNoZVNlcnZpY2VFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgRWxhc3RpQ2FjaGVTZXJ2aWNlO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEVsYXN0aUNhY2hlU2VydmljZSxcbiAgbWFrZUVsYXN0aUNhY2hlU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBFbGFzdGlDYWNoZVNlcnZpY2VMYXllciA9IEJhc2VFbGFzdGlDYWNoZVNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEVsYXN0aUNhY2hlU2VydmljZUxheWVyID0gRWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
package/package.json CHANGED
@@ -12,18 +12,18 @@
12
12
  "aws-sdk-client-mock": "^3.0.0",
13
13
  "aws-sdk-client-mock-jest": "^3.0.0",
14
14
  "constructs": "^10.0.0",
15
- "effect": "2.3.1",
15
+ "effect": "3.0.0",
16
16
  "eslint": "^8",
17
17
  "eslint-config-prettier": "^9.0.0",
18
18
  "eslint-import-resolver-typescript": "^3.6.1",
19
19
  "eslint-plugin-import": "^2.28.1",
20
20
  "eslint-plugin-prettier": "^5.0.0",
21
21
  "prettier": "^3.2.4",
22
- "projen": "^0.79.6",
23
- "typescript": "^5.2.2"
22
+ "projen": "^0.79.24",
23
+ "typescript": "^5.4.2"
24
24
  },
25
25
  "peerDependencies": {
26
- "effect": ">=2.3.1 <2.5.0"
26
+ "effect": ">=3.0.0 <4.0.0"
27
27
  },
28
28
  "dependencies": {
29
29
  "@aws-sdk/client-elasticache": "^3",
@@ -35,7 +35,7 @@
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "version": "1.0.0",
38
+ "version": "1.1.0",
39
39
  "types": "lib/index.d.ts",
40
40
  "module": "lib/esm/index.js",
41
41
  "sideEffects": [],