@effect-aws/client-cloudwatch-logs 1.2.0 → 1.9.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.
Files changed (69) hide show
  1. package/CloudWatchLogsClientInstance/package.json +6 -0
  2. package/CloudWatchLogsService/package.json +6 -0
  3. package/CloudWatchLogsServiceConfig/package.json +6 -0
  4. package/Errors/package.json +6 -0
  5. package/LICENSE +1 -1
  6. package/dist/cjs/CloudWatchLogsClientInstance.d.ts +24 -0
  7. package/dist/cjs/CloudWatchLogsClientInstance.d.ts.map +1 -0
  8. package/dist/cjs/CloudWatchLogsClientInstance.js +50 -0
  9. package/dist/cjs/CloudWatchLogsClientInstance.js.map +1 -0
  10. package/{lib → dist/cjs}/CloudWatchLogsService.d.ts +16 -38
  11. package/dist/cjs/CloudWatchLogsService.d.ts.map +1 -0
  12. package/dist/cjs/CloudWatchLogsService.js +145 -0
  13. package/dist/cjs/CloudWatchLogsService.js.map +1 -0
  14. package/dist/cjs/CloudWatchLogsServiceConfig.d.ts +25 -0
  15. package/dist/cjs/CloudWatchLogsServiceConfig.d.ts.map +1 -0
  16. package/dist/cjs/CloudWatchLogsServiceConfig.js +35 -0
  17. package/dist/cjs/CloudWatchLogsServiceConfig.js.map +1 -0
  18. package/{lib → dist/cjs}/Errors.d.ts +6 -11
  19. package/dist/cjs/Errors.d.ts.map +1 -0
  20. package/dist/cjs/Errors.js +27 -0
  21. package/dist/cjs/Errors.js.map +1 -0
  22. package/dist/cjs/index.d.ts +39 -0
  23. package/dist/cjs/index.d.ts.map +1 -0
  24. package/dist/cjs/index.js +56 -0
  25. package/dist/cjs/index.js.map +1 -0
  26. package/dist/dts/CloudWatchLogsClientInstance.d.ts +24 -0
  27. package/dist/dts/CloudWatchLogsClientInstance.d.ts.map +1 -0
  28. package/dist/dts/CloudWatchLogsService.d.ts +488 -0
  29. package/dist/dts/CloudWatchLogsService.d.ts.map +1 -0
  30. package/dist/dts/CloudWatchLogsServiceConfig.d.ts +25 -0
  31. package/dist/dts/CloudWatchLogsServiceConfig.d.ts.map +1 -0
  32. package/dist/dts/Errors.d.ts +26 -0
  33. package/dist/dts/Errors.d.ts.map +1 -0
  34. package/dist/dts/index.d.ts +39 -0
  35. package/dist/dts/index.d.ts.map +1 -0
  36. package/dist/esm/CloudWatchLogsClientInstance.js +23 -0
  37. package/dist/esm/CloudWatchLogsClientInstance.js.map +1 -0
  38. package/dist/esm/CloudWatchLogsService.js +118 -0
  39. package/dist/esm/CloudWatchLogsService.js.map +1 -0
  40. package/dist/esm/CloudWatchLogsServiceConfig.js +31 -0
  41. package/dist/esm/CloudWatchLogsServiceConfig.js.map +1 -0
  42. package/dist/esm/Errors.js +24 -0
  43. package/dist/esm/Errors.js.map +1 -0
  44. package/dist/esm/index.js +27 -0
  45. package/dist/esm/index.js.map +1 -0
  46. package/dist/esm/package.json +4 -0
  47. package/package.json +60 -43
  48. package/src/CloudWatchLogsClientInstance.ts +33 -0
  49. package/src/CloudWatchLogsService.ts +1561 -0
  50. package/src/CloudWatchLogsServiceConfig.ts +52 -0
  51. package/src/Errors.ts +68 -0
  52. package/src/index.ts +44 -0
  53. package/CHANGELOG.md +0 -35
  54. package/docgen.json +0 -8
  55. package/lib/CloudWatchLogsClientInstance.d.ts +0 -31
  56. package/lib/CloudWatchLogsClientInstance.js +0 -57
  57. package/lib/CloudWatchLogsClientInstanceConfig.d.ts +0 -23
  58. package/lib/CloudWatchLogsClientInstanceConfig.js +0 -44
  59. package/lib/CloudWatchLogsService.js +0 -177
  60. package/lib/Errors.js +0 -27
  61. package/lib/esm/CloudWatchLogsClientInstance.js +0 -30
  62. package/lib/esm/CloudWatchLogsClientInstanceConfig.js +0 -40
  63. package/lib/esm/CloudWatchLogsService.js +0 -173
  64. package/lib/esm/Errors.js +0 -24
  65. package/lib/esm/index.js +0 -5
  66. package/lib/index.d.ts +0 -4
  67. package/lib/index.js +0 -21
  68. package/project.json +0 -77
  69. package/vitest.config.ts +0 -3
@@ -1,177 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DefaultCloudWatchLogsServiceLayer = exports.CloudWatchLogsServiceLayer = exports.BaseCloudWatchLogsServiceLayer = exports.CloudWatchLogs = exports.CloudWatchLogsService = exports.makeCloudWatchLogsService = void 0;
5
- /**
6
- * @since 1.0.0
7
- */
8
- const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
9
- const effect_1 = require("effect");
10
- const CloudWatchLogsClientInstance_1 = require("./CloudWatchLogsClientInstance");
11
- const CloudWatchLogsClientInstanceConfig_1 = require("./CloudWatchLogsClientInstanceConfig");
12
- const Errors_1 = require("./Errors");
13
- const commands = {
14
- AssociateKmsKeyCommand: client_cloudwatch_logs_1.AssociateKmsKeyCommand,
15
- CancelExportTaskCommand: client_cloudwatch_logs_1.CancelExportTaskCommand,
16
- CreateDeliveryCommand: client_cloudwatch_logs_1.CreateDeliveryCommand,
17
- CreateExportTaskCommand: client_cloudwatch_logs_1.CreateExportTaskCommand,
18
- CreateLogAnomalyDetectorCommand: client_cloudwatch_logs_1.CreateLogAnomalyDetectorCommand,
19
- CreateLogGroupCommand: client_cloudwatch_logs_1.CreateLogGroupCommand,
20
- CreateLogStreamCommand: client_cloudwatch_logs_1.CreateLogStreamCommand,
21
- DeleteAccountPolicyCommand: client_cloudwatch_logs_1.DeleteAccountPolicyCommand,
22
- DeleteDataProtectionPolicyCommand: client_cloudwatch_logs_1.DeleteDataProtectionPolicyCommand,
23
- DeleteDeliveryCommand: client_cloudwatch_logs_1.DeleteDeliveryCommand,
24
- DeleteDeliveryDestinationCommand: client_cloudwatch_logs_1.DeleteDeliveryDestinationCommand,
25
- DeleteDeliveryDestinationPolicyCommand: client_cloudwatch_logs_1.DeleteDeliveryDestinationPolicyCommand,
26
- DeleteDeliverySourceCommand: client_cloudwatch_logs_1.DeleteDeliverySourceCommand,
27
- DeleteDestinationCommand: client_cloudwatch_logs_1.DeleteDestinationCommand,
28
- DeleteIndexPolicyCommand: client_cloudwatch_logs_1.DeleteIndexPolicyCommand,
29
- DeleteIntegrationCommand: client_cloudwatch_logs_1.DeleteIntegrationCommand,
30
- DeleteLogAnomalyDetectorCommand: client_cloudwatch_logs_1.DeleteLogAnomalyDetectorCommand,
31
- DeleteLogGroupCommand: client_cloudwatch_logs_1.DeleteLogGroupCommand,
32
- DeleteLogStreamCommand: client_cloudwatch_logs_1.DeleteLogStreamCommand,
33
- DeleteMetricFilterCommand: client_cloudwatch_logs_1.DeleteMetricFilterCommand,
34
- DeleteQueryDefinitionCommand: client_cloudwatch_logs_1.DeleteQueryDefinitionCommand,
35
- DeleteResourcePolicyCommand: client_cloudwatch_logs_1.DeleteResourcePolicyCommand,
36
- DeleteRetentionPolicyCommand: client_cloudwatch_logs_1.DeleteRetentionPolicyCommand,
37
- DeleteSubscriptionFilterCommand: client_cloudwatch_logs_1.DeleteSubscriptionFilterCommand,
38
- DeleteTransformerCommand: client_cloudwatch_logs_1.DeleteTransformerCommand,
39
- DescribeAccountPoliciesCommand: client_cloudwatch_logs_1.DescribeAccountPoliciesCommand,
40
- DescribeConfigurationTemplatesCommand: client_cloudwatch_logs_1.DescribeConfigurationTemplatesCommand,
41
- DescribeDeliveriesCommand: client_cloudwatch_logs_1.DescribeDeliveriesCommand,
42
- DescribeDeliveryDestinationsCommand: client_cloudwatch_logs_1.DescribeDeliveryDestinationsCommand,
43
- DescribeDeliverySourcesCommand: client_cloudwatch_logs_1.DescribeDeliverySourcesCommand,
44
- DescribeDestinationsCommand: client_cloudwatch_logs_1.DescribeDestinationsCommand,
45
- DescribeExportTasksCommand: client_cloudwatch_logs_1.DescribeExportTasksCommand,
46
- DescribeFieldIndexesCommand: client_cloudwatch_logs_1.DescribeFieldIndexesCommand,
47
- DescribeIndexPoliciesCommand: client_cloudwatch_logs_1.DescribeIndexPoliciesCommand,
48
- DescribeLogGroupsCommand: client_cloudwatch_logs_1.DescribeLogGroupsCommand,
49
- DescribeLogStreamsCommand: client_cloudwatch_logs_1.DescribeLogStreamsCommand,
50
- DescribeMetricFiltersCommand: client_cloudwatch_logs_1.DescribeMetricFiltersCommand,
51
- DescribeQueriesCommand: client_cloudwatch_logs_1.DescribeQueriesCommand,
52
- DescribeQueryDefinitionsCommand: client_cloudwatch_logs_1.DescribeQueryDefinitionsCommand,
53
- DescribeResourcePoliciesCommand: client_cloudwatch_logs_1.DescribeResourcePoliciesCommand,
54
- DescribeSubscriptionFiltersCommand: client_cloudwatch_logs_1.DescribeSubscriptionFiltersCommand,
55
- DisassociateKmsKeyCommand: client_cloudwatch_logs_1.DisassociateKmsKeyCommand,
56
- FilterLogEventsCommand: client_cloudwatch_logs_1.FilterLogEventsCommand,
57
- GetDataProtectionPolicyCommand: client_cloudwatch_logs_1.GetDataProtectionPolicyCommand,
58
- GetDeliveryCommand: client_cloudwatch_logs_1.GetDeliveryCommand,
59
- GetDeliveryDestinationCommand: client_cloudwatch_logs_1.GetDeliveryDestinationCommand,
60
- GetDeliveryDestinationPolicyCommand: client_cloudwatch_logs_1.GetDeliveryDestinationPolicyCommand,
61
- GetDeliverySourceCommand: client_cloudwatch_logs_1.GetDeliverySourceCommand,
62
- GetIntegrationCommand: client_cloudwatch_logs_1.GetIntegrationCommand,
63
- GetLogAnomalyDetectorCommand: client_cloudwatch_logs_1.GetLogAnomalyDetectorCommand,
64
- GetLogEventsCommand: client_cloudwatch_logs_1.GetLogEventsCommand,
65
- GetLogGroupFieldsCommand: client_cloudwatch_logs_1.GetLogGroupFieldsCommand,
66
- GetLogRecordCommand: client_cloudwatch_logs_1.GetLogRecordCommand,
67
- GetQueryResultsCommand: client_cloudwatch_logs_1.GetQueryResultsCommand,
68
- GetTransformerCommand: client_cloudwatch_logs_1.GetTransformerCommand,
69
- ListAnomaliesCommand: client_cloudwatch_logs_1.ListAnomaliesCommand,
70
- ListIntegrationsCommand: client_cloudwatch_logs_1.ListIntegrationsCommand,
71
- ListLogAnomalyDetectorsCommand: client_cloudwatch_logs_1.ListLogAnomalyDetectorsCommand,
72
- ListLogGroupsForQueryCommand: client_cloudwatch_logs_1.ListLogGroupsForQueryCommand,
73
- ListTagsForResourceCommand: client_cloudwatch_logs_1.ListTagsForResourceCommand,
74
- ListTagsLogGroupCommand: client_cloudwatch_logs_1.ListTagsLogGroupCommand,
75
- PutAccountPolicyCommand: client_cloudwatch_logs_1.PutAccountPolicyCommand,
76
- PutDataProtectionPolicyCommand: client_cloudwatch_logs_1.PutDataProtectionPolicyCommand,
77
- PutDeliveryDestinationCommand: client_cloudwatch_logs_1.PutDeliveryDestinationCommand,
78
- PutDeliveryDestinationPolicyCommand: client_cloudwatch_logs_1.PutDeliveryDestinationPolicyCommand,
79
- PutDeliverySourceCommand: client_cloudwatch_logs_1.PutDeliverySourceCommand,
80
- PutDestinationCommand: client_cloudwatch_logs_1.PutDestinationCommand,
81
- PutDestinationPolicyCommand: client_cloudwatch_logs_1.PutDestinationPolicyCommand,
82
- PutIndexPolicyCommand: client_cloudwatch_logs_1.PutIndexPolicyCommand,
83
- PutIntegrationCommand: client_cloudwatch_logs_1.PutIntegrationCommand,
84
- PutLogEventsCommand: client_cloudwatch_logs_1.PutLogEventsCommand,
85
- PutMetricFilterCommand: client_cloudwatch_logs_1.PutMetricFilterCommand,
86
- PutQueryDefinitionCommand: client_cloudwatch_logs_1.PutQueryDefinitionCommand,
87
- PutResourcePolicyCommand: client_cloudwatch_logs_1.PutResourcePolicyCommand,
88
- PutRetentionPolicyCommand: client_cloudwatch_logs_1.PutRetentionPolicyCommand,
89
- PutSubscriptionFilterCommand: client_cloudwatch_logs_1.PutSubscriptionFilterCommand,
90
- PutTransformerCommand: client_cloudwatch_logs_1.PutTransformerCommand,
91
- StartLiveTailCommand: client_cloudwatch_logs_1.StartLiveTailCommand,
92
- StartQueryCommand: client_cloudwatch_logs_1.StartQueryCommand,
93
- StopQueryCommand: client_cloudwatch_logs_1.StopQueryCommand,
94
- TagLogGroupCommand: client_cloudwatch_logs_1.TagLogGroupCommand,
95
- TagResourceCommand: client_cloudwatch_logs_1.TagResourceCommand,
96
- TestMetricFilterCommand: client_cloudwatch_logs_1.TestMetricFilterCommand,
97
- TestTransformerCommand: client_cloudwatch_logs_1.TestTransformerCommand,
98
- UntagLogGroupCommand: client_cloudwatch_logs_1.UntagLogGroupCommand,
99
- UntagResourceCommand: client_cloudwatch_logs_1.UntagResourceCommand,
100
- UpdateAnomalyCommand: client_cloudwatch_logs_1.UpdateAnomalyCommand,
101
- UpdateDeliveryConfigurationCommand: client_cloudwatch_logs_1.UpdateDeliveryConfigurationCommand,
102
- UpdateLogAnomalyDetectorCommand: client_cloudwatch_logs_1.UpdateLogAnomalyDetectorCommand,
103
- };
104
- /**
105
- * @since 1.0.0
106
- * @category constructors
107
- */
108
- exports.makeCloudWatchLogsService = effect_1.Effect.gen(function* (_) {
109
- const client = yield* _(CloudWatchLogsClientInstance_1.CloudWatchLogsClientInstance);
110
- return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
111
- const CommandCtor = commands[command];
112
- const methodImpl = (args, options) => effect_1.Effect.tryPromise({
113
- try: (abortSignal) => client.send(new CommandCtor(args), {
114
- ...(options !== null && options !== void 0 ? options : {}),
115
- abortSignal,
116
- }),
117
- catch: (e) => {
118
- if (e instanceof client_cloudwatch_logs_1.CloudWatchLogsServiceException &&
119
- Errors_1.AllServiceErrors.includes(e.name)) {
120
- const ServiceException = effect_1.Data.tagged(e.name);
121
- return ServiceException({
122
- ...e,
123
- message: e.message,
124
- stack: e.stack,
125
- });
126
- }
127
- if (e instanceof Error) {
128
- return (0, Errors_1.SdkError)({
129
- ...e,
130
- name: "SdkError",
131
- message: e.message,
132
- stack: e.stack,
133
- });
134
- }
135
- throw e;
136
- },
137
- });
138
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
139
- return { ...acc, [methodName]: methodImpl };
140
- }, {});
141
- });
142
- /**
143
- * @since 1.0.0
144
- * @category models
145
- */
146
- class CloudWatchLogsService extends effect_1.Effect.Tag("@effect-aws/client-cloudwatch-logs/CloudWatchLogsService")() {
147
- }
148
- exports.CloudWatchLogsService = CloudWatchLogsService;
149
- _a = CloudWatchLogsService;
150
- CloudWatchLogsService.defaultLayer = effect_1.Layer.effect(_a, exports.makeCloudWatchLogsService).pipe(effect_1.Layer.provide(CloudWatchLogsClientInstance_1.CloudWatchLogsClientInstanceLayer), effect_1.Layer.provide(CloudWatchLogsClientInstanceConfig_1.DefaultCloudWatchLogsClientConfigLayer));
151
- CloudWatchLogsService.layer = (config) => effect_1.Layer.effect(_a, exports.makeCloudWatchLogsService).pipe(effect_1.Layer.provide(CloudWatchLogsClientInstance_1.CloudWatchLogsClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(CloudWatchLogsClientInstanceConfig_1.CloudWatchLogsClientInstanceConfig, CloudWatchLogsClientInstanceConfig_1.makeDefaultCloudWatchLogsClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
152
- CloudWatchLogsService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeCloudWatchLogsService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(CloudWatchLogsClientInstance_1.CloudWatchLogsClientInstance, effect_1.Effect.map(CloudWatchLogsClientInstanceConfig_1.makeDefaultCloudWatchLogsClientInstanceConfig, evaluate))));
153
- /**
154
- * @since 1.0.0
155
- * @category models
156
- * @alias CloudWatchLogsService
157
- */
158
- exports.CloudWatchLogs = CloudWatchLogsService;
159
- /**
160
- * @since 1.0.0
161
- * @category layers
162
- * @deprecated use CloudWatchLogs.baseLayer instead
163
- */
164
- exports.BaseCloudWatchLogsServiceLayer = effect_1.Layer.effect(CloudWatchLogsService, exports.makeCloudWatchLogsService);
165
- /**
166
- * @since 1.0.0
167
- * @category layers
168
- * @deprecated use CloudWatchLogs.layer instead
169
- */
170
- exports.CloudWatchLogsServiceLayer = exports.BaseCloudWatchLogsServiceLayer.pipe(effect_1.Layer.provide(CloudWatchLogsClientInstance_1.CloudWatchLogsClientInstanceLayer));
171
- /**
172
- * @since 1.0.0
173
- * @category layers
174
- * @deprecated use CloudWatchLogs.defaultLayer instead
175
- */
176
- exports.DefaultCloudWatchLogsServiceLayer = CloudWatchLogsService.defaultLayer;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Nsb3VkV2F0Y2hMb2dzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCw0RUErUXlDO0FBQ3pDLG1DQUFxRDtBQUNyRCxpRkFHd0M7QUFDeEMsNkZBSThDO0FBQzlDLHFDQXFCa0I7QUFhbEIsTUFBTSxRQUFRLEdBQUc7SUFDZixzQkFBc0IsRUFBdEIsK0NBQXNCO0lBQ3RCLHVCQUF1QixFQUF2QixnREFBdUI7SUFDdkIscUJBQXFCLEVBQXJCLDhDQUFxQjtJQUNyQix1QkFBdUIsRUFBdkIsZ0RBQXVCO0lBQ3ZCLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0IscUJBQXFCLEVBQXJCLDhDQUFxQjtJQUNyQixzQkFBc0IsRUFBdEIsK0NBQXNCO0lBQ3RCLDBCQUEwQixFQUExQixtREFBMEI7SUFDMUIsaUNBQWlDLEVBQWpDLDBEQUFpQztJQUNqQyxxQkFBcUIsRUFBckIsOENBQXFCO0lBQ3JCLGdDQUFnQyxFQUFoQyx5REFBZ0M7SUFDaEMsc0NBQXNDLEVBQXRDLCtEQUFzQztJQUN0QywyQkFBMkIsRUFBM0Isb0RBQTJCO0lBQzNCLHdCQUF3QixFQUF4QixpREFBd0I7SUFDeEIsd0JBQXdCLEVBQXhCLGlEQUF3QjtJQUN4Qix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLCtCQUErQixFQUEvQix3REFBK0I7SUFDL0IscUJBQXFCLEVBQXJCLDhDQUFxQjtJQUNyQixzQkFBc0IsRUFBdEIsK0NBQXNCO0lBQ3RCLHlCQUF5QixFQUF6QixrREFBeUI7SUFDekIsNEJBQTRCLEVBQTVCLHFEQUE0QjtJQUM1QiwyQkFBMkIsRUFBM0Isb0RBQTJCO0lBQzNCLDRCQUE0QixFQUE1QixxREFBNEI7SUFDNUIsK0JBQStCLEVBQS9CLHdEQUErQjtJQUMvQix3QkFBd0IsRUFBeEIsaURBQXdCO0lBQ3hCLDhCQUE4QixFQUE5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V2pCO0FBQ1ksK0JBQVMsR0FBRyxDQUMxQixRQUV5QixFQUN6QixFQUFFLENBQ0YsY0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFJLEVBQUUsaUNBQXlCLENBQUMsQ0FBQyxJQUFJLENBQ2hELGNBQUssQ0FBQyxPQUFPLENBQ1gsY0FBSyxDQUFDLE1BQU0sQ0FDViwyREFBNEIsRUFDNUIsZUFBTSxDQUFDLEdBQUcsQ0FBQyxrRkFBNkMsRUFBRSxRQUFRLENBQUMsQ0FDcEUsQ0FDRixDQUNGLEFBWnNCLENBWXJCO0FBR047Ozs7R0FJRztBQUNVLFFBQUEsY0FBYyxHQUFHLHFCQUFxQixDQUFDO0FBRXBEOzs7O0dBSUc7QUFDVSxRQUFBLDhCQUE4QixHQUFHLGNBQUssQ0FBQyxNQUFNLENBQ3hELHFCQUFxQixFQUNyQixpQ0FBeUIsQ0FDMUIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLDBCQUEwQixHQUFHLHNDQUE4QixDQUFDLElBQUksQ0FDM0UsY0FBSyxDQUFDLE9BQU8sQ0FBQyxnRUFBaUMsQ0FBQyxDQUNqRCxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsaUNBQWlDLEdBQzVDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIENsb3VkV2F0Y2hMb2dzU2VydmljZUV4Y2VwdGlvbixcbiAgdHlwZSBDbG91ZFdhdGNoTG9nc0NsaWVudCxcbiAgdHlwZSBDbG91ZFdhdGNoTG9nc0NsaWVudENvbmZpZyxcbiAgQXNzb2NpYXRlS21zS2V5Q29tbWFuZCxcbiAgdHlwZSBBc3NvY2lhdGVLbXNLZXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXNzb2NpYXRlS21zS2V5Q29tbWFuZE91dHB1dCxcbiAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmQsXG4gIHR5cGUgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRGVsaXZlcnlDb21tYW5kLFxuICB0eXBlIENyZWF0ZURlbGl2ZXJ5Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZURlbGl2ZXJ5Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlRXhwb3J0VGFza0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlRXhwb3J0VGFza0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTG9nR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUxvZ0dyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUxvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlTG9nU3RyZWFtQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVMb2dTdHJlYW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlTG9nU3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlQWNjb3VudFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWNjb3VudFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZURhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGVsaXZlcnlDb21tYW5kLFxuICB0eXBlIERlbGV0ZURlbGl2ZXJ5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURlbGl2ZXJ5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICB0eXBlIERlbGV0ZURlbGl2ZXJ5U291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlRGVzdGluYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW5kZXhQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUluZGV4UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUluZGV4UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTG9nR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUxvZ0dyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUxvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTG9nU3RyZWFtQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVMb2dTdHJlYW1Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTG9nU3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlTWV0cmljRmlsdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlTWV0cmljRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVRdWVyeURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVSZXRlbnRpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVHJhbnNmb3JtZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVRyYW5zZm9ybWVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVRyYW5zZm9ybWVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVBY2NvdW50UG9saWNpZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQWNjb3VudFBvbGljaWVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQWNjb3VudFBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVDb25maWd1cmF0aW9uVGVtcGxhdGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDb25maWd1cmF0aW9uVGVtcGxhdGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEZWxpdmVyaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZURlbGl2ZXJpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVEZWxpdmVyaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEZWxpdmVyeURlc3RpbmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVEZWxpdmVyeURlc3RpbmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZURlbGl2ZXJ5RGVzdGluYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEZWxpdmVyeVNvdXJjZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRGVsaXZlcnlTb3VyY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRGVsaXZlcnlTb3VyY2VzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVEZXN0aW5hdGlvbnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRGVzdGluYXRpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRGVzdGluYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVGaWVsZEluZGV4ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRmllbGRJbmRleGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlRmllbGRJbmRleGVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJbmRleFBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUluZGV4UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJbmRleFBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVMb2dHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlTG9nR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlTG9nR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVMb2dTdHJlYW1zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUxvZ1N0cmVhbXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVMb2dTdHJlYW1zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVNZXRyaWNGaWx0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVNZXRyaWNGaWx0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVRdWVyaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVF1ZXJpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVRdWVyaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVRdWVyeURlZmluaXRpb25zQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVRdWVyeURlZmluaXRpb25zQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNvdXJjZVBvbGljaWVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc291cmNlUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXNvdXJjZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdWJzY3JpcHRpb25GaWx0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdWJzY3JpcHRpb25GaWx0ZXJzQ29tbWFuZE91dHB1dCxcbiAgRGlzYXNzb2NpYXRlS21zS2V5Q29tbWFuZCxcbiAgdHlwZSBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlS21zS2V5Q29tbWFuZE91dHB1dCxcbiAgRmlsdGVyTG9nRXZlbnRzQ29tbWFuZCxcbiAgdHlwZSBGaWx0ZXJMb2dFdmVudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRmlsdGVyTG9nRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0RGVsaXZlcnlDb21tYW5kLFxuICB0eXBlIEdldERlbGl2ZXJ5Q29tbWFuZElucHV0LFxuICB0eXBlIEdldERlbGl2ZXJ5Q29tbWFuZE91dHB1dCxcbiAgR2V0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIHR5cGUgR2V0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgR2V0RGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICB0eXBlIEdldERlbGl2ZXJ5U291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldERlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgR2V0SW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIEdldEludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgdHlwZSBHZXRMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nRXZlbnRzQ29tbWFuZCxcbiAgdHlwZSBHZXRMb2dFdmVudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nR3JvdXBGaWVsZHNDb21tYW5kLFxuICB0eXBlIEdldExvZ0dyb3VwRmllbGRzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldExvZ0dyb3VwRmllbGRzQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nUmVjb3JkQ29tbWFuZCxcbiAgdHlwZSBHZXRMb2dSZWNvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nUmVjb3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0UXVlcnlSZXN1bHRzQ29tbWFuZCxcbiAgdHlwZSBHZXRRdWVyeVJlc3VsdHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UXVlcnlSZXN1bHRzQ29tbWFuZE91dHB1dCxcbiAgR2V0VHJhbnNmb3JtZXJDb21tYW5kLFxuICB0eXBlIEdldFRyYW5zZm9ybWVyQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFRyYW5zZm9ybWVyQ29tbWFuZE91dHB1dCxcbiAgTGlzdEFub21hbGllc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEFub21hbGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QW5vbWFsaWVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEludGVncmF0aW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEludGVncmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0SW50ZWdyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdExvZ0Fub21hbHlEZXRlY3RvcnNDb21tYW5kLFxuICB0eXBlIExpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdExvZ0dyb3Vwc0ZvclF1ZXJ5Q29tbWFuZCxcbiAgdHlwZSBMaXN0TG9nR3JvdXBzRm9yUXVlcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdExvZ0dyb3Vwc0ZvclF1ZXJ5Q29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NMb2dHcm91cENvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NMb2dHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0xvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgUHV0QWNjb3VudFBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0QWNjb3VudFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRBY2NvdW50UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIHR5cGUgUHV0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmQsXG4gIHR5cGUgUHV0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0RGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICB0eXBlIFB1dERlbGl2ZXJ5U291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dERlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgUHV0RGVzdGluYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dERlc3RpbmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dERlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dERlc3RpbmF0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dERlc3RpbmF0aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0SW5kZXhQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dEluZGV4UG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dEluZGV4UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0SW50ZWdyYXRpb25Db21tYW5kLFxuICB0eXBlIFB1dEludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dEludGVncmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0TG9nRXZlbnRzQ29tbWFuZCxcbiAgdHlwZSBQdXRMb2dFdmVudHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0TG9nRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgUHV0TWV0cmljRmlsdGVyQ29tbWFuZCxcbiAgdHlwZSBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0TWV0cmljRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgUHV0UXVlcnlEZWZpbml0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRRdWVyeURlZmluaXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UXVlcnlEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgUHV0UmVzb3VyY2VQb2xpY3lDb21tYW5kLFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZElucHV0LFxuICB0eXBlIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0UmV0ZW50aW9uUG9saWN5Q29tbWFuZCxcbiAgdHlwZSBQdXRSZXRlbnRpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0UmV0ZW50aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgUHV0U3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZCxcbiAgdHlwZSBQdXRTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0U3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgUHV0VHJhbnNmb3JtZXJDb21tYW5kLFxuICB0eXBlIFB1dFRyYW5zZm9ybWVyQ29tbWFuZElucHV0LFxuICB0eXBlIFB1dFRyYW5zZm9ybWVyQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRMaXZlVGFpbENvbW1hbmQsXG4gIHR5cGUgU3RhcnRMaXZlVGFpbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydExpdmVUYWlsQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRRdWVyeUNvbW1hbmQsXG4gIHR5cGUgU3RhcnRRdWVyeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydFF1ZXJ5Q29tbWFuZE91dHB1dCxcbiAgU3RvcFF1ZXJ5Q29tbWFuZCxcbiAgdHlwZSBTdG9wUXVlcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcFF1ZXJ5Q29tbWFuZE91dHB1dCxcbiAgVGFnTG9nR3JvdXBDb21tYW5kLFxuICB0eXBlIFRhZ0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ0xvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVGVzdE1ldHJpY0ZpbHRlckNvbW1hbmQsXG4gIHR5cGUgVGVzdE1ldHJpY0ZpbHRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUZXN0TWV0cmljRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgVGVzdFRyYW5zZm9ybWVyQ29tbWFuZCxcbiAgdHlwZSBUZXN0VHJhbnNmb3JtZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdFRyYW5zZm9ybWVyQ29tbWFuZE91dHB1dCxcbiAgVW50YWdMb2dHcm91cENvbW1hbmQsXG4gIHR5cGUgVW50YWdMb2dHcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ0xvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQW5vbWFseUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlQW5vbWFseUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBbm9tYWx5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZHdhdGNoLWxvZ3NcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIENsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2UsXG4gIENsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkV2F0Y2hMb2dzQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWNjZXNzRGVuaWVkRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIERhdGFBbHJlYWR5QWNjZXB0ZWRFcnJvcixcbiAgSW52YWxpZE9wZXJhdGlvbkVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyRXJyb3IsXG4gIEludmFsaWRTZXF1ZW5jZVRva2VuRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgTWFsZm9ybWVkUXVlcnlFcnJvcixcbiAgT3BlcmF0aW9uQWJvcnRlZEVycm9yLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yLFxuICBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvcixcbiAgVGhyb3R0bGluZ0Vycm9yLFxuICBUb29NYW55VGFnc0Vycm9yLFxuICBVbnJlY29nbml6ZWRDbGllbnRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgY29ubmVjdGlvbiBwaGFzZSBvZiBhIHJlcXVlc3RcbiAgICogbWF5IHRha2UgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgaXMgYWJhbmRvbmVkLlxuICAgKi9cbiAgcmVxdWVzdFRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IGNvbW1hbmRzID0ge1xuICBBc3NvY2lhdGVLbXNLZXlDb21tYW5kLFxuICBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ3JlYXRlRGVsaXZlcnlDb21tYW5kLFxuICBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZCxcbiAgQ3JlYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgQ3JlYXRlTG9nR3JvdXBDb21tYW5kLFxuICBDcmVhdGVMb2dTdHJlYW1Db21tYW5kLFxuICBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kLFxuICBEZWxldGVEZWxpdmVyeUNvbW1hbmQsXG4gIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kLFxuICBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlRGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICBEZWxldGVEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUluZGV4UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kLFxuICBEZWxldGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kLFxuICBEZWxldGVMb2dHcm91cENvbW1hbmQsXG4gIERlbGV0ZUxvZ1N0cmVhbUNvbW1hbmQsXG4gIERlbGV0ZU1ldHJpY0ZpbHRlckNvbW1hbmQsXG4gIERlbGV0ZVF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmQsXG4gIERlbGV0ZVJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlU3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZCxcbiAgRGVsZXRlVHJhbnNmb3JtZXJDb21tYW5kLFxuICBEZXNjcmliZUFjY291bnRQb2xpY2llc0NvbW1hbmQsXG4gIERlc2NyaWJlQ29uZmlndXJhdGlvblRlbXBsYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlRGVsaXZlcmllc0NvbW1hbmQsXG4gIERlc2NyaWJlRGVsaXZlcnlEZXN0aW5hdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZURlbGl2ZXJ5U291cmNlc0NvbW1hbmQsXG4gIERlc2NyaWJlRGVzdGluYXRpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmQsXG4gIERlc2NyaWJlRmllbGRJbmRleGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVJbmRleFBvbGljaWVzQ29tbWFuZCxcbiAgRGVzY3JpYmVMb2dHcm91cHNDb21tYW5kLFxuICBEZXNjcmliZUxvZ1N0cmVhbXNDb21tYW5kLFxuICBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kLFxuICBEZXNjcmliZVF1ZXJpZXNDb21tYW5kLFxuICBEZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnNDb21tYW5kLFxuICBEZXNjcmliZVJlc291cmNlUG9saWNpZXNDb21tYW5kLFxuICBEZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnNDb21tYW5kLFxuICBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kLFxuICBGaWx0ZXJMb2dFdmVudHNDb21tYW5kLFxuICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIEdldERlbGl2ZXJ5Q29tbWFuZCxcbiAgR2V0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmQsXG4gIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kLFxuICBHZXREZWxpdmVyeVNvdXJjZUNvbW1hbmQsXG4gIEdldEludGVncmF0aW9uQ29tbWFuZCxcbiAgR2V0TG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbiAgR2V0TG9nRXZlbnRzQ29tbWFuZCxcbiAgR2V0TG9nR3JvdXBGaWVsZHNDb21tYW5kLFxuICBHZXRMb2dSZWNvcmRDb21tYW5kLFxuICBHZXRRdWVyeVJlc3VsdHNDb21tYW5kLFxuICBHZXRUcmFuc2Zvcm1lckNvbW1hbmQsXG4gIExpc3RBbm9tYWxpZXNDb21tYW5kLFxuICBMaXN0SW50ZWdyYXRpb25zQ29tbWFuZCxcbiAgTGlzdExvZ0Fub21hbHlEZXRlY3RvcnNDb21tYW5kLFxuICBMaXN0TG9nR3JvdXBzRm9yUXVlcnlDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRhZ3NMb2dHcm91cENvbW1hbmQsXG4gIFB1dEFjY291bnRQb2xpY3lDb21tYW5kLFxuICBQdXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmQsXG4gIFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kLFxuICBQdXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgUHV0RGVsaXZlcnlTb3VyY2VDb21tYW5kLFxuICBQdXREZXN0aW5hdGlvbkNvbW1hbmQsXG4gIFB1dERlc3RpbmF0aW9uUG9saWN5Q29tbWFuZCxcbiAgUHV0SW5kZXhQb2xpY3lDb21tYW5kLFxuICBQdXRJbnRlZ3JhdGlvbkNvbW1hbmQsXG4gIFB1dExvZ0V2ZW50c0NvbW1hbmQsXG4gIFB1dE1ldHJpY0ZpbHRlckNvbW1hbmQsXG4gIFB1dFF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmQsXG4gIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZCxcbiAgUHV0UmV0ZW50aW9uUG9saWN5Q29tbWFuZCxcbiAgUHV0U3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZCxcbiAgUHV0VHJhbnNmb3JtZXJDb21tYW5kLFxuICBTdGFydExpdmVUYWlsQ29tbWFuZCxcbiAgU3RhcnRRdWVyeUNvbW1hbmQsXG4gIFN0b3BRdWVyeUNvbW1hbmQsXG4gIFRhZ0xvZ0dyb3VwQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBUZXN0TWV0cmljRmlsdGVyQ29tbWFuZCxcbiAgVGVzdFRyYW5zZm9ybWVyQ29tbWFuZCxcbiAgVW50YWdMb2dHcm91cENvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVBbm9tYWx5Q29tbWFuZCxcbiAgVXBkYXRlRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBDbG91ZFdhdGNoTG9nc1NlcnZpY2UkIHtcbiAgcmVhZG9ubHkgXzogdW5pcXVlIHN5bWJvbDtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQXNzb2NpYXRlS21zS2V5Q29tbWFuZH1cbiAgICovXG4gIGFzc29jaWF0ZUttc0tleShcbiAgICBhcmdzOiBBc3NvY2lhdGVLbXNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBc3NvY2lhdGVLbXNLZXlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENhbmNlbEV4cG9ydFRhc2tDb21tYW5kfVxuICAgKi9cbiAgY2FuY2VsRXhwb3J0VGFzayhcbiAgICBhcmdzOiBDYW5jZWxFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2FuY2VsRXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlRGVsaXZlcnlDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlRGVsaXZlcnkoXG4gICAgYXJnczogQ3JlYXRlRGVsaXZlcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVEZWxpdmVyeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUV4cG9ydFRhc2tDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlRXhwb3J0VGFzayhcbiAgICBhcmdzOiBDcmVhdGVFeHBvcnRUYXNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlRXhwb3J0VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUxvZ0Fub21hbHlEZXRlY3RvcihcbiAgICBhcmdzOiBDcmVhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVMb2dBbm9tYWx5RGV0ZWN0b3JDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTG9nR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlTG9nR3JvdXAoXG4gICAgYXJnczogQ3JlYXRlTG9nR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVMb2dHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUxvZ1N0cmVhbUNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVMb2dTdHJlYW0oXG4gICAgYXJnczogQ3JlYXRlTG9nU3RyZWFtQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlTG9nU3RyZWFtQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjY291bnRQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWNjb3VudFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVBY2NvdW50UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQWNjb3VudFBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgYXJnczogRGVsZXRlRGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRGVsaXZlcnlDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlRGVsaXZlcnkoXG4gICAgYXJnczogRGVsZXRlRGVsaXZlcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEZWxpdmVyeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3koXG4gICAgYXJnczogRGVsZXRlRGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEZWxpdmVyeVNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEZWxpdmVyeVNvdXJjZShcbiAgICBhcmdzOiBEZWxldGVEZWxpdmVyeVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVEZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVEZXN0aW5hdGlvbihcbiAgICBhcmdzOiBEZWxldGVEZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVJbmRleFBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJbmRleFBvbGljeShcbiAgICBhcmdzOiBEZWxldGVJbmRleFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUluZGV4UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUludGVncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUludGVncmF0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUludGVncmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlSW50ZWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVMb2dBbm9tYWx5RGV0ZWN0b3IoXG4gICAgYXJnczogRGVsZXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMb2dHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVMb2dHcm91cChcbiAgICBhcmdzOiBEZWxldGVMb2dHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxvZ0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMb2dTdHJlYW1Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTG9nU3RyZWFtKFxuICAgIGFyZ3M6IERlbGV0ZUxvZ1N0cmVhbUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxvZ1N0cmVhbUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlTWV0cmljRmlsdGVyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZU1ldHJpY0ZpbHRlcihcbiAgICBhcmdzOiBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVNZXRyaWNGaWx0ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVRdWVyeURlZmluaXRpb24oXG4gICAgYXJnczogRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUXVlcnlEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2VQb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmVzb3VyY2VQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVSZXNvdXJjZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJldGVudGlvblBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXRlbnRpb25Qb2xpY3koXG4gICAgYXJnczogRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUmV0ZW50aW9uUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdWJzY3JpcHRpb25GaWx0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3Vic2NyaXB0aW9uRmlsdGVyKFxuICAgIGFyZ3M6IERlbGV0ZVN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVHJhbnNmb3JtZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVHJhbnNmb3JtZXIoXG4gICAgYXJnczogRGVsZXRlVHJhbnNmb3JtZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVUcmFuc2Zvcm1lckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUFjY291bnRQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjY291bnRQb2xpY2llcyhcbiAgICBhcmdzOiBEZXNjcmliZUFjY291bnRQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQWNjb3VudFBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDb25maWd1cmF0aW9uVGVtcGxhdGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ29uZmlndXJhdGlvblRlbXBsYXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ29uZmlndXJhdGlvblRlbXBsYXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEZWxpdmVyaWVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRGVsaXZlcmllcyhcbiAgICBhcmdzOiBEZXNjcmliZURlbGl2ZXJpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURlbGl2ZXJpZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURlbGl2ZXJ5RGVzdGluYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRGVsaXZlcnlEZXN0aW5hdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEZWxpdmVyeURlc3RpbmF0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRGVsaXZlcnlEZXN0aW5hdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZURlbGl2ZXJ5U291cmNlc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZURlbGl2ZXJ5U291cmNlcyhcbiAgICBhcmdzOiBEZXNjcmliZURlbGl2ZXJ5U291cmNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRGVsaXZlcnlTb3VyY2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVEZXN0aW5hdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVEZXN0aW5hdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVEZXN0aW5hdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZURlc3RpbmF0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUV4cG9ydFRhc2tzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXhwb3J0VGFza3MoXG4gICAgYXJnczogRGVzY3JpYmVFeHBvcnRUYXNrc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlRXhwb3J0VGFza3NDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFBhcmFtZXRlckVycm9yIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVGaWVsZEluZGV4ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVGaWVsZEluZGV4ZXMoXG4gICAgYXJnczogRGVzY3JpYmVGaWVsZEluZGV4ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUZpZWxkSW5kZXhlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUluZGV4UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVJbmRleFBvbGljaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlSW5kZXhQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlSW5kZXhQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUxvZ0dyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUxvZ0dyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZUxvZ0dyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlTG9nR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlTG9nU3RyZWFtc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUxvZ1N0cmVhbXMoXG4gICAgYXJnczogRGVzY3JpYmVMb2dTdHJlYW1zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVMb2dTdHJlYW1zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVNZXRyaWNGaWx0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlTWV0cmljRmlsdGVycyhcbiAgICBhcmdzOiBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU1ldHJpY0ZpbHRlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVF1ZXJpZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVRdWVyaWVzKFxuICAgIGFyZ3M6IERlc2NyaWJlUXVlcmllc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlUXVlcmllc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUXVlcnlEZWZpbml0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVF1ZXJ5RGVmaW5pdGlvbnMoXG4gICAgYXJnczogRGVzY3JpYmVRdWVyeURlZmluaXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVRdWVyeURlZmluaXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzb3VyY2VQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJlc291cmNlUG9saWNpZXMoXG4gICAgYXJnczogRGVzY3JpYmVSZXNvdXJjZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNvdXJjZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3Vic2NyaXB0aW9uRmlsdGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN1YnNjcmlwdGlvbkZpbHRlcnMoXG4gICAgYXJnczogRGVzY3JpYmVTdWJzY3JpcHRpb25GaWx0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdWJzY3JpcHRpb25GaWx0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGlzYXNzb2NpYXRlS21zS2V5Q29tbWFuZH1cbiAgICovXG4gIGRpc2Fzc29jaWF0ZUttc0tleShcbiAgICBhcmdzOiBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEaXNhc3NvY2lhdGVLbXNLZXlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEZpbHRlckxvZ0V2ZW50c0NvbW1hbmR9XG4gICAqL1xuICBmaWx0ZXJMb2dFdmVudHMoXG4gICAgYXJnczogRmlsdGVyTG9nRXZlbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRmlsdGVyTG9nRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZ2V0RGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgYXJnczogR2V0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREYXRhUHJvdGVjdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGVsaXZlcnlDb21tYW5kfVxuICAgKi9cbiAgZ2V0RGVsaXZlcnkoXG4gICAgYXJnczogR2V0RGVsaXZlcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREZWxpdmVyeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBnZXREZWxpdmVyeURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IEdldERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3koXG4gICAgYXJnczogR2V0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RGVsaXZlcnlTb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgZ2V0RGVsaXZlcnlTb3VyY2UoXG4gICAgYXJnczogR2V0RGVsaXZlcnlTb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXREZWxpdmVyeVNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICAgIHwgVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0SW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0SW50ZWdyYXRpb24oXG4gICAgYXJnczogR2V0SW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldExvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmR9XG4gICAqL1xuICBnZXRMb2dBbm9tYWx5RGV0ZWN0b3IoXG4gICAgYXJnczogR2V0TG9nQW5vbWFseURldGVjdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dFdmVudHNDb21tYW5kfVxuICAgKi9cbiAgZ2V0TG9nRXZlbnRzKFxuICAgIGFyZ3M6IEdldExvZ0V2ZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ0V2ZW50c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldExvZ0dyb3VwRmllbGRzQ29tbWFuZH1cbiAgICovXG4gIGdldExvZ0dyb3VwRmllbGRzKFxuICAgIGFyZ3M6IEdldExvZ0dyb3VwRmllbGRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TG9nR3JvdXBGaWVsZHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldExvZ1JlY29yZENvbW1hbmR9XG4gICAqL1xuICBnZXRMb2dSZWNvcmQoXG4gICAgYXJnczogR2V0TG9nUmVjb3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0TG9nUmVjb3JkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRRdWVyeVJlc3VsdHNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UXVlcnlSZXN1bHRzKFxuICAgIGFyZ3M6IEdldFF1ZXJ5UmVzdWx0c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFF1ZXJ5UmVzdWx0c0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFRyYW5zZm9ybWVyQ29tbWFuZH1cbiAgICovXG4gIGdldFRyYW5zZm9ybWVyKFxuICAgIGFyZ3M6IEdldFRyYW5zZm9ybWVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VHJhbnNmb3JtZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBbm9tYWxpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFub21hbGllcyhcbiAgICBhcmdzOiBMaXN0QW5vbWFsaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFub21hbGllc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEludGVncmF0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0SW50ZWdyYXRpb25zKFxuICAgIGFyZ3M6IExpc3RJbnRlZ3JhdGlvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0SW50ZWdyYXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzKFxuICAgIGFyZ3M6IExpc3RMb2dBbm9tYWx5RGV0ZWN0b3JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdExvZ0Fub21hbHlEZXRlY3RvcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RMb2dHcm91cHNGb3JRdWVyeUNvbW1hbmR9XG4gICAqL1xuICBsaXN0TG9nR3JvdXBzRm9yUXVlcnkoXG4gICAgYXJnczogTGlzdExvZ0dyb3Vwc0ZvclF1ZXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdExvZ0dyb3Vwc0ZvclF1ZXJ5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzTG9nR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NMb2dHcm91cChcbiAgICBhcmdzOiBMaXN0VGFnc0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NMb2dHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRBY2NvdW50UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dEFjY291bnRQb2xpY3koXG4gICAgYXJnczogUHV0QWNjb3VudFBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEFjY291bnRQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dERhdGFQcm90ZWN0aW9uUG9saWN5KFxuICAgIGFyZ3M6IFB1dERhdGFQcm90ZWN0aW9uUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0RGF0YVByb3RlY3Rpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0RGVsaXZlcnlEZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXREZWxpdmVyeURlc3RpbmF0aW9uKFxuICAgIGFyZ3M6IFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXREZWxpdmVyeURlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREZWxpdmVyeURlc3RpbmF0aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3koXG4gICAgYXJnczogUHV0RGVsaXZlcnlEZXN0aW5hdGlvblBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dERlbGl2ZXJ5RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREZWxpdmVyeVNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBwdXREZWxpdmVyeVNvdXJjZShcbiAgICBhcmdzOiBQdXREZWxpdmVyeVNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dERlbGl2ZXJ5U291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXREZXN0aW5hdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXREZXN0aW5hdGlvbihcbiAgICBhcmdzOiBQdXREZXN0aW5hdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dERlc3RpbmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgcHV0RGVzdGluYXRpb25Qb2xpY3koXG4gICAgYXJnczogUHV0RGVzdGluYXRpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXREZXN0aW5hdGlvblBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dEluZGV4UG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dEluZGV4UG9saWN5KFxuICAgIGFyZ3M6IFB1dEluZGV4UG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0SW5kZXhQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0SW50ZWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgcHV0SW50ZWdyYXRpb24oXG4gICAgYXJnczogUHV0SW50ZWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRJbnRlZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0TG9nRXZlbnRzQ29tbWFuZH1cbiAgICovXG4gIHB1dExvZ0V2ZW50cyhcbiAgICBhcmdzOiBQdXRMb2dFdmVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRMb2dFdmVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IERhdGFBbHJlYWR5QWNjZXB0ZWRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU2VxdWVuY2VUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBVbnJlY29nbml6ZWRDbGllbnRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRNZXRyaWNGaWx0ZXJDb21tYW5kfVxuICAgKi9cbiAgcHV0TWV0cmljRmlsdGVyKFxuICAgIGFyZ3M6IFB1dE1ldHJpY0ZpbHRlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dE1ldHJpY0ZpbHRlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFF1ZXJ5RGVmaW5pdGlvbkNvbW1hbmR9XG4gICAqL1xuICBwdXRRdWVyeURlZmluaXRpb24oXG4gICAgYXJnczogUHV0UXVlcnlEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0UXVlcnlEZWZpbml0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBwdXRSZXNvdXJjZVBvbGljeShcbiAgICBhcmdzOiBQdXRSZXNvdXJjZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dFJlc291cmNlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0UmV0ZW50aW9uUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHB1dFJldGVudGlvblBvbGljeShcbiAgICBhcmdzOiBQdXRSZXRlbnRpb25Qb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRSZXRlbnRpb25Qb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1dFN1YnNjcmlwdGlvbkZpbHRlckNvbW1hbmR9XG4gICAqL1xuICBwdXRTdWJzY3JpcHRpb25GaWx0ZXIoXG4gICAgYXJnczogUHV0U3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHV0U3Vic2NyaXB0aW9uRmlsdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkT3BlcmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBPcGVyYXRpb25BYm9ydGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0VHJhbnNmb3JtZXJDb21tYW5kfVxuICAgKi9cbiAgcHV0VHJhbnNmb3JtZXIoXG4gICAgYXJnczogUHV0VHJhbnNmb3JtZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRUcmFuc2Zvcm1lckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgT3BlcmF0aW9uQWJvcnRlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0TGl2ZVRhaWxDb21tYW5kfVxuICAgKi9cbiAgc3RhcnRMaXZlVGFpbChcbiAgICBhcmdzOiBTdGFydExpdmVUYWlsQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRMaXZlVGFpbENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEludmFsaWRPcGVyYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdGFydFF1ZXJ5Q29tbWFuZH1cbiAgICovXG4gIHN0YXJ0UXVlcnkoXG4gICAgYXJnczogU3RhcnRRdWVyeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0UXVlcnlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBNYWxmb3JtZWRRdWVyeUVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0b3BRdWVyeUNvbW1hbmR9XG4gICAqL1xuICBzdG9wUXVlcnkoXG4gICAgYXJnczogU3RvcFF1ZXJ5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RvcFF1ZXJ5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnTG9nR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgdGFnTG9nR3JvdXAoXG4gICAgYXJnczogVGFnTG9nR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdMb2dHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnUmVzb3VyY2UoXG4gICAgYXJnczogVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gICAgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRlc3RNZXRyaWNGaWx0ZXJDb21tYW5kfVxuICAgKi9cbiAgdGVzdE1ldHJpY0ZpbHRlcihcbiAgICBhcmdzOiBUZXN0TWV0cmljRmlsdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGVzdE1ldHJpY0ZpbHRlckNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3IgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0VHJhbnNmb3JtZXJDb21tYW5kfVxuICAgKi9cbiAgdGVzdFRyYW5zZm9ybWVyKFxuICAgIGFyZ3M6IFRlc3RUcmFuc2Zvcm1lckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RUcmFuc2Zvcm1lckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE9wZXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFNlcnZpY2VVbmF2YWlsYWJsZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnTG9nR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgdW50YWdMb2dHcm91cChcbiAgICBhcmdzOiBVbnRhZ0xvZ0dyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdMb2dHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQW5vbWFseUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBbm9tYWx5KFxuICAgIGFyZ3M6IFVwZGF0ZUFub21hbHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBbm9tYWx5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlRGVsaXZlcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZURlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZURlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVVuYXZhaWxhYmxlRXJyb3JcbiAgICB8IFRocm90dGxpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUxvZ0Fub21hbHlEZXRlY3RvckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVMb2dBbm9tYWx5RGV0ZWN0b3IoXG4gICAgYXJnczogVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTG9nQW5vbWFseURldGVjdG9yQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE9wZXJhdGlvbkFib3J0ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlVW5hdmFpbGFibGVFcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUNsb3VkV2F0Y2hMb2dzU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKENsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBDbG91ZFdhdGNoTG9nc1NlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248Q2xvdWRXYXRjaExvZ3NTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBDbG91ZFdhdGNoTG9nc1NlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFdhdGNoTG9nc1NlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1jbG91ZHdhdGNoLWxvZ3MvQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlXCIsXG4pPENsb3VkV2F0Y2hMb2dzU2VydmljZSwgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlJD4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gICAgdGhpcyxcbiAgICBtYWtlQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlLFxuICApLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdENsb3VkV2F0Y2hMb2dzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBDbG91ZFdhdGNoTG9nc0NsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUNsb3VkV2F0Y2hMb2dzU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoXG4gICAgICBkZWZhdWx0Q29uZmlnOiBDbG91ZFdhdGNoTG9nc0NsaWVudENvbmZpZyxcbiAgICApID0+IENsb3VkV2F0Y2hMb2dzQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VDbG91ZFdhdGNoTG9nc1NlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIENsb3VkV2F0Y2hMb2dzU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgQ2xvdWRXYXRjaExvZ3MgPSBDbG91ZFdhdGNoTG9nc1NlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQ2xvdWRXYXRjaExvZ3MuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDbG91ZFdhdGNoTG9nc1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlLFxuICBtYWtlQ2xvdWRXYXRjaExvZ3NTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBDbG91ZFdhdGNoTG9ncy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBDbG91ZFdhdGNoTG9nc1NlcnZpY2VMYXllciA9IEJhc2VDbG91ZFdhdGNoTG9nc1NlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKENsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIENsb3VkV2F0Y2hMb2dzLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRXYXRjaExvZ3NTZXJ2aWNlTGF5ZXIgPVxuICBDbG91ZFdhdGNoTG9nc1NlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
package/lib/Errors.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkError = exports.AllServiceErrors = void 0;
4
- const effect_1 = require("effect");
5
- exports.AllServiceErrors = [
6
- "AccessDeniedException",
7
- "ConflictException",
8
- "DataAlreadyAcceptedException",
9
- "InvalidOperationException",
10
- "InvalidParameterException",
11
- "InvalidSequenceTokenException",
12
- "LimitExceededException",
13
- "MalformedQueryException",
14
- "OperationAbortedException",
15
- "ResourceAlreadyExistsException",
16
- "ResourceNotFoundException",
17
- "ServiceQuotaExceededException",
18
- "ServiceUnavailableException",
19
- "SessionStreamingException",
20
- "SessionTimeoutException",
21
- "ThrottlingException",
22
- "TooManyTagsException",
23
- "UnrecognizedClientException",
24
- "ValidationException",
25
- ];
26
- exports.SdkError = effect_1.Data.tagged("SdkError");
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxQkEsbUNBQThCO0FBRWpCLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0Isd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0IsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0Qiw2QkFBNkI7SUFDN0IscUJBQXFCO0NBQ3RCLENBQUM7QUFpQ1csUUFBQSxRQUFRLEdBQUcsYUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWNjZXNzRGVuaWVkRXhjZXB0aW9uLFxuICBDb25mbGljdEV4Y2VwdGlvbixcbiAgRGF0YUFscmVhZHlBY2NlcHRlZEV4Y2VwdGlvbixcbiAgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbixcbiAgSW52YWxpZFNlcXVlbmNlVG9rZW5FeGNlcHRpb24sXG4gIExpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIE1hbGZvcm1lZFF1ZXJ5RXhjZXB0aW9uLFxuICBPcGVyYXRpb25BYm9ydGVkRXhjZXB0aW9uLFxuICBSZXNvdXJjZUFscmVhZHlFeGlzdHNFeGNlcHRpb24sXG4gIFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24sXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uLFxuICBTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24sXG4gIFNlc3Npb25TdHJlYW1pbmdFeGNlcHRpb24sXG4gIFNlc3Npb25UaW1lb3V0RXhjZXB0aW9uLFxuICBUaHJvdHRsaW5nRXhjZXB0aW9uLFxuICBUb29NYW55VGFnc0V4Y2VwdGlvbixcbiAgVW5yZWNvZ25pemVkQ2xpZW50RXhjZXB0aW9uLFxuICBWYWxpZGF0aW9uRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNsb3Vkd2F0Y2gtbG9nc1wiO1xuaW1wb3J0IHsgRGF0YSB9IGZyb20gXCJlZmZlY3RcIjtcblxuZXhwb3J0IGNvbnN0IEFsbFNlcnZpY2VFcnJvcnMgPSBbXG4gIFwiQWNjZXNzRGVuaWVkRXhjZXB0aW9uXCIsXG4gIFwiQ29uZmxpY3RFeGNlcHRpb25cIixcbiAgXCJEYXRhQWxyZWFkeUFjY2VwdGVkRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkU2VxdWVuY2VUb2tlbkV4Y2VwdGlvblwiLFxuICBcIkxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJNYWxmb3JtZWRRdWVyeUV4Y2VwdGlvblwiLFxuICBcIk9wZXJhdGlvbkFib3J0ZWRFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZUFscmVhZHlFeGlzdHNFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiU2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb25cIixcbiAgXCJTZXNzaW9uU3RyZWFtaW5nRXhjZXB0aW9uXCIsXG4gIFwiU2Vzc2lvblRpbWVvdXRFeGNlcHRpb25cIixcbiAgXCJUaHJvdHRsaW5nRXhjZXB0aW9uXCIsXG4gIFwiVG9vTWFueVRhZ3NFeGNlcHRpb25cIixcbiAgXCJVbnJlY29nbml6ZWRDbGllbnRFeGNlcHRpb25cIixcbiAgXCJWYWxpZGF0aW9uRXhjZXB0aW9uXCIsXG5dO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBBY2Nlc3NEZW5pZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxBY2Nlc3NEZW5pZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxDb25mbGljdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBEYXRhQWxyZWFkeUFjY2VwdGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RGF0YUFscmVhZHlBY2NlcHRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkT3BlcmF0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUGFyYW1ldGVyRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkU2VxdWVuY2VUb2tlbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTZXF1ZW5jZVRva2VuRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIExpbWl0RXhjZWVkZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE1hbGZvcm1lZFF1ZXJ5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248TWFsZm9ybWVkUXVlcnlFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgT3BlcmF0aW9uQWJvcnRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE9wZXJhdGlvbkFib3J0ZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VBbHJlYWR5RXhpc3RzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VBbHJlYWR5RXhpc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlTm90Rm91bmRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU2VydmljZVVuYXZhaWxhYmxlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlc3Npb25TdHJlYW1pbmdFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxTZXNzaW9uU3RyZWFtaW5nRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNlc3Npb25UaW1lb3V0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U2Vzc2lvblRpbWVvdXRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVGhyb3R0bGluZ0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRocm90dGxpbmdFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVG9vTWFueVRhZ3NFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUb29NYW55VGFnc0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbnJlY29nbml6ZWRDbGllbnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVbnJlY29nbml6ZWRDbGllbnRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFZhbGlkYXRpb25FeGNlcHRpb24+O1xuXG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
@@ -1,30 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { CloudWatchLogsClient } from "@aws-sdk/client-cloudwatch-logs";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { DefaultCloudWatchLogsClientConfigLayer, CloudWatchLogsClientInstanceConfig, } from "./CloudWatchLogsClientInstanceConfig";
9
- /**
10
- * @since 1.0.0
11
- * @category tags
12
- */
13
- export class CloudWatchLogsClientInstance extends Context.Tag("@effect-aws/client-cloudwatch-logs/CloudWatchLogsClientInstance")() {
14
- }
15
- /**
16
- * @since 1.0.0
17
- * @category constructors
18
- */
19
- export const makeCloudWatchLogsClientInstance = Effect.map(CloudWatchLogsClientInstanceConfig, (config) => new CloudWatchLogsClient(config));
20
- /**
21
- * @since 1.0.0
22
- * @category layers
23
- */
24
- export const CloudWatchLogsClientInstanceLayer = Layer.effect(CloudWatchLogsClientInstance, makeCloudWatchLogsClientInstance);
25
- /**
26
- * @since 1.0.0
27
- * @category layers
28
- */
29
- export const DefaultCloudWatchLogsClientInstanceLayer = CloudWatchLogsClientInstanceLayer.pipe(Layer.provide(DefaultCloudWatchLogsClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9DbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsc0NBQXNDLEVBQ3RDLGtDQUFrQyxHQUNuQyxNQUFNLHNDQUFzQyxDQUFDO0FBRTlDOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUMzRCxpRUFBaUUsQ0FDbEUsRUFBc0Q7Q0FBRztBQUUxRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUN4RCxrQ0FBa0MsRUFDbEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQzdDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUMzRCw0QkFBNEIsRUFDNUIsZ0NBQWdDLENBQ2pDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FDbkQsaUNBQWlDLENBQUMsSUFBSSxDQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBDbG91ZFdhdGNoTG9nc0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWR3YXRjaC1sb2dzXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJlZmZlY3QvQ29udGV4dFwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBMYXllciBmcm9tIFwiZWZmZWN0L0xheWVyXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRDb25maWdMYXllcixcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtY2xvdWR3YXRjaC1sb2dzL0Nsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VcIixcbik8Q2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZSwgQ2xvdWRXYXRjaExvZ3NDbGllbnQ+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlID0gRWZmZWN0Lm1hcChcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT4gbmV3IENsb3VkV2F0Y2hMb2dzQ2xpZW50KGNvbmZpZyksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlLFxuICBtYWtlQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUxheWVyID1cbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUxheWVyLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0Q2xvdWRXYXRjaExvZ3NDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
@@ -1,40 +0,0 @@
1
- import { Context, Effect, Layer, Runtime } from "effect";
2
- /**
3
- * @since 1.0.0
4
- * @category tags
5
- */
6
- export class CloudWatchLogsClientInstanceConfig extends Context.Tag("@effect-aws/client-cloudwatch-logs/CloudWatchLogsClientInstanceConfig")() {
7
- }
8
- /**
9
- * @since 1.0.0
10
- * @category constructors
11
- */
12
- export const makeDefaultCloudWatchLogsClientInstanceConfig = Effect.gen(function* (_) {
13
- const runtime = yield* _(Effect.runtime());
14
- const runSync = Runtime.runSync(runtime);
15
- return {
16
- logger: {
17
- info(m) {
18
- Effect.logInfo(m).pipe(runSync);
19
- },
20
- warn(m) {
21
- Effect.logWarning(m).pipe(runSync);
22
- },
23
- error(m) {
24
- Effect.logError(m).pipe(runSync);
25
- },
26
- debug(m) {
27
- Effect.logDebug(m).pipe(runSync);
28
- },
29
- trace(m) {
30
- Effect.logTrace(m).pipe(runSync);
31
- },
32
- },
33
- };
34
- });
35
- /**
36
- * @since 1.0.0
37
- * @category layers
38
- */
39
- export const DefaultCloudWatchLogsClientConfigLayer = Layer.effect(CloudWatchLogsClientInstanceConfig, makeDefaultCloudWatchLogsClientInstanceConfig);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9DbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFekQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLE9BQU8sQ0FBQyxHQUFHLENBQ2pFLHVFQUF1RSxDQUN4RSxFQUFrRTtDQUFHO0FBRXRFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUN4RCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekMsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNoRSxrQ0FBa0MsRUFDbEMsNkNBQTZDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IENsb3VkV2F0Y2hMb2dzQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jbG91ZHdhdGNoLWxvZ3NcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1jbG91ZHdhdGNoLWxvZ3MvQ2xvdWRXYXRjaExvZ3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlQ29uZmlnLCBDbG91ZFdhdGNoTG9nc0NsaWVudENvbmZpZz4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZURlZmF1bHRDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PENsb3VkV2F0Y2hMb2dzQ2xpZW50Q29uZmlnPiA9XG4gIEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHlpZWxkKiBfKEVmZmVjdC5ydW50aW1lPG5ldmVyPigpKTtcbiAgICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2dlcjoge1xuICAgICAgICBpbmZvKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nSW5mbyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB3YXJuKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nV2FybmluZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0Vycm9yKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRGVidWcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhY2UobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dUcmFjZShtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDbG91ZFdhdGNoTG9nc0NsaWVudENvbmZpZ0xheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBDbG91ZFdhdGNoTG9nc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdENsb3VkV2F0Y2hMb2dzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4pO1xuIl19