@effect-aws/client-elasticache 1.4.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.
- package/ElastiCacheClientInstance/package.json +6 -0
- package/ElastiCacheService/package.json +6 -0
- package/ElastiCacheServiceConfig/package.json +6 -0
- package/Errors/package.json +6 -0
- package/LICENSE +1 -1
- package/dist/cjs/ElastiCacheClientInstance.d.ts +24 -0
- package/dist/cjs/ElastiCacheClientInstance.d.ts.map +1 -0
- package/dist/cjs/ElastiCacheClientInstance.js +50 -0
- package/dist/cjs/ElastiCacheClientInstance.js.map +1 -0
- package/{lib → dist/cjs}/ElastiCacheService.d.ts +16 -38
- package/dist/cjs/ElastiCacheService.d.ts.map +1 -0
- package/dist/cjs/ElastiCacheService.js +131 -0
- package/dist/cjs/ElastiCacheService.js.map +1 -0
- package/dist/cjs/ElastiCacheServiceConfig.d.ts +25 -0
- package/dist/cjs/ElastiCacheServiceConfig.d.ts.map +1 -0
- package/dist/cjs/ElastiCacheServiceConfig.js +35 -0
- package/dist/cjs/ElastiCacheServiceConfig.js.map +1 -0
- package/{lib → dist/cjs}/Errors.d.ts +7 -12
- package/dist/cjs/Errors.d.ts.map +1 -0
- package/dist/cjs/Errors.js +84 -0
- package/dist/cjs/Errors.js.map +1 -0
- package/dist/cjs/index.d.ts +39 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/ElastiCacheClientInstance.d.ts +24 -0
- package/dist/dts/ElastiCacheClientInstance.d.ts.map +1 -0
- package/dist/dts/ElastiCacheService.d.ts +418 -0
- package/dist/dts/ElastiCacheService.d.ts.map +1 -0
- package/dist/dts/ElastiCacheServiceConfig.d.ts +25 -0
- package/dist/dts/ElastiCacheServiceConfig.d.ts.map +1 -0
- package/dist/dts/Errors.d.ts +83 -0
- package/dist/dts/Errors.d.ts.map +1 -0
- package/dist/dts/index.d.ts +39 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/ElastiCacheClientInstance.js +23 -0
- package/dist/esm/ElastiCacheClientInstance.js.map +1 -0
- package/dist/esm/ElastiCacheService.js +104 -0
- package/dist/esm/ElastiCacheService.js.map +1 -0
- package/dist/esm/ElastiCacheServiceConfig.js +31 -0
- package/dist/esm/ElastiCacheServiceConfig.js.map +1 -0
- package/dist/esm/Errors.js +81 -0
- package/dist/esm/Errors.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +60 -43
- package/src/ElastiCacheClientInstance.ts +33 -0
- package/src/ElastiCacheService.ts +1655 -0
- package/src/ElastiCacheServiceConfig.ts +52 -0
- package/src/Errors.ts +245 -0
- package/src/index.ts +44 -0
- package/CHANGELOG.md +0 -37
- package/docgen.json +0 -8
- package/lib/ElastiCacheClientInstance.d.ts +0 -31
- package/lib/ElastiCacheClientInstance.js +0 -57
- package/lib/ElastiCacheClientInstanceConfig.d.ts +0 -23
- package/lib/ElastiCacheClientInstanceConfig.js +0 -44
- package/lib/ElastiCacheService.js +0 -163
- package/lib/Errors.js +0 -84
- package/lib/esm/ElastiCacheClientInstance.js +0 -30
- package/lib/esm/ElastiCacheClientInstanceConfig.js +0 -40
- package/lib/esm/ElastiCacheService.js +0 -159
- package/lib/esm/Errors.js +0 -81
- package/lib/esm/index.js +0 -5
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -21
- package/project.json +0 -77
- package/vitest.config.ts +0 -3
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.DefaultElastiCacheServiceLayer = exports.ElastiCacheServiceLayer = exports.BaseElastiCacheServiceLayer = exports.ElastiCache = exports.ElastiCacheService = exports.makeElastiCacheService = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* @since 1.0.0
|
|
7
|
-
*/
|
|
8
|
-
const client_elasticache_1 = require("@aws-sdk/client-elasticache");
|
|
9
|
-
const effect_1 = require("effect");
|
|
10
|
-
const ElastiCacheClientInstance_1 = require("./ElastiCacheClientInstance");
|
|
11
|
-
const ElastiCacheClientInstanceConfig_1 = require("./ElastiCacheClientInstanceConfig");
|
|
12
|
-
const Errors_1 = require("./Errors");
|
|
13
|
-
const commands = {
|
|
14
|
-
AddTagsToResourceCommand: client_elasticache_1.AddTagsToResourceCommand,
|
|
15
|
-
AuthorizeCacheSecurityGroupIngressCommand: client_elasticache_1.AuthorizeCacheSecurityGroupIngressCommand,
|
|
16
|
-
BatchApplyUpdateActionCommand: client_elasticache_1.BatchApplyUpdateActionCommand,
|
|
17
|
-
BatchStopUpdateActionCommand: client_elasticache_1.BatchStopUpdateActionCommand,
|
|
18
|
-
CompleteMigrationCommand: client_elasticache_1.CompleteMigrationCommand,
|
|
19
|
-
CopyServerlessCacheSnapshotCommand: client_elasticache_1.CopyServerlessCacheSnapshotCommand,
|
|
20
|
-
CopySnapshotCommand: client_elasticache_1.CopySnapshotCommand,
|
|
21
|
-
CreateCacheClusterCommand: client_elasticache_1.CreateCacheClusterCommand,
|
|
22
|
-
CreateCacheParameterGroupCommand: client_elasticache_1.CreateCacheParameterGroupCommand,
|
|
23
|
-
CreateCacheSecurityGroupCommand: client_elasticache_1.CreateCacheSecurityGroupCommand,
|
|
24
|
-
CreateCacheSubnetGroupCommand: client_elasticache_1.CreateCacheSubnetGroupCommand,
|
|
25
|
-
CreateGlobalReplicationGroupCommand: client_elasticache_1.CreateGlobalReplicationGroupCommand,
|
|
26
|
-
CreateReplicationGroupCommand: client_elasticache_1.CreateReplicationGroupCommand,
|
|
27
|
-
CreateServerlessCacheCommand: client_elasticache_1.CreateServerlessCacheCommand,
|
|
28
|
-
CreateServerlessCacheSnapshotCommand: client_elasticache_1.CreateServerlessCacheSnapshotCommand,
|
|
29
|
-
CreateSnapshotCommand: client_elasticache_1.CreateSnapshotCommand,
|
|
30
|
-
CreateUserCommand: client_elasticache_1.CreateUserCommand,
|
|
31
|
-
CreateUserGroupCommand: client_elasticache_1.CreateUserGroupCommand,
|
|
32
|
-
DecreaseNodeGroupsInGlobalReplicationGroupCommand: client_elasticache_1.DecreaseNodeGroupsInGlobalReplicationGroupCommand,
|
|
33
|
-
DecreaseReplicaCountCommand: client_elasticache_1.DecreaseReplicaCountCommand,
|
|
34
|
-
DeleteCacheClusterCommand: client_elasticache_1.DeleteCacheClusterCommand,
|
|
35
|
-
DeleteCacheParameterGroupCommand: client_elasticache_1.DeleteCacheParameterGroupCommand,
|
|
36
|
-
DeleteCacheSecurityGroupCommand: client_elasticache_1.DeleteCacheSecurityGroupCommand,
|
|
37
|
-
DeleteCacheSubnetGroupCommand: client_elasticache_1.DeleteCacheSubnetGroupCommand,
|
|
38
|
-
DeleteGlobalReplicationGroupCommand: client_elasticache_1.DeleteGlobalReplicationGroupCommand,
|
|
39
|
-
DeleteReplicationGroupCommand: client_elasticache_1.DeleteReplicationGroupCommand,
|
|
40
|
-
DeleteServerlessCacheCommand: client_elasticache_1.DeleteServerlessCacheCommand,
|
|
41
|
-
DeleteServerlessCacheSnapshotCommand: client_elasticache_1.DeleteServerlessCacheSnapshotCommand,
|
|
42
|
-
DeleteSnapshotCommand: client_elasticache_1.DeleteSnapshotCommand,
|
|
43
|
-
DeleteUserCommand: client_elasticache_1.DeleteUserCommand,
|
|
44
|
-
DeleteUserGroupCommand: client_elasticache_1.DeleteUserGroupCommand,
|
|
45
|
-
DescribeCacheClustersCommand: client_elasticache_1.DescribeCacheClustersCommand,
|
|
46
|
-
DescribeCacheEngineVersionsCommand: client_elasticache_1.DescribeCacheEngineVersionsCommand,
|
|
47
|
-
DescribeCacheParameterGroupsCommand: client_elasticache_1.DescribeCacheParameterGroupsCommand,
|
|
48
|
-
DescribeCacheParametersCommand: client_elasticache_1.DescribeCacheParametersCommand,
|
|
49
|
-
DescribeCacheSecurityGroupsCommand: client_elasticache_1.DescribeCacheSecurityGroupsCommand,
|
|
50
|
-
DescribeCacheSubnetGroupsCommand: client_elasticache_1.DescribeCacheSubnetGroupsCommand,
|
|
51
|
-
DescribeEngineDefaultParametersCommand: client_elasticache_1.DescribeEngineDefaultParametersCommand,
|
|
52
|
-
DescribeEventsCommand: client_elasticache_1.DescribeEventsCommand,
|
|
53
|
-
DescribeGlobalReplicationGroupsCommand: client_elasticache_1.DescribeGlobalReplicationGroupsCommand,
|
|
54
|
-
DescribeReplicationGroupsCommand: client_elasticache_1.DescribeReplicationGroupsCommand,
|
|
55
|
-
DescribeReservedCacheNodesCommand: client_elasticache_1.DescribeReservedCacheNodesCommand,
|
|
56
|
-
DescribeReservedCacheNodesOfferingsCommand: client_elasticache_1.DescribeReservedCacheNodesOfferingsCommand,
|
|
57
|
-
DescribeServerlessCacheSnapshotsCommand: client_elasticache_1.DescribeServerlessCacheSnapshotsCommand,
|
|
58
|
-
DescribeServerlessCachesCommand: client_elasticache_1.DescribeServerlessCachesCommand,
|
|
59
|
-
DescribeServiceUpdatesCommand: client_elasticache_1.DescribeServiceUpdatesCommand,
|
|
60
|
-
DescribeSnapshotsCommand: client_elasticache_1.DescribeSnapshotsCommand,
|
|
61
|
-
DescribeUpdateActionsCommand: client_elasticache_1.DescribeUpdateActionsCommand,
|
|
62
|
-
DescribeUserGroupsCommand: client_elasticache_1.DescribeUserGroupsCommand,
|
|
63
|
-
DescribeUsersCommand: client_elasticache_1.DescribeUsersCommand,
|
|
64
|
-
DisassociateGlobalReplicationGroupCommand: client_elasticache_1.DisassociateGlobalReplicationGroupCommand,
|
|
65
|
-
ExportServerlessCacheSnapshotCommand: client_elasticache_1.ExportServerlessCacheSnapshotCommand,
|
|
66
|
-
FailoverGlobalReplicationGroupCommand: client_elasticache_1.FailoverGlobalReplicationGroupCommand,
|
|
67
|
-
IncreaseNodeGroupsInGlobalReplicationGroupCommand: client_elasticache_1.IncreaseNodeGroupsInGlobalReplicationGroupCommand,
|
|
68
|
-
IncreaseReplicaCountCommand: client_elasticache_1.IncreaseReplicaCountCommand,
|
|
69
|
-
ListAllowedNodeTypeModificationsCommand: client_elasticache_1.ListAllowedNodeTypeModificationsCommand,
|
|
70
|
-
ListTagsForResourceCommand: client_elasticache_1.ListTagsForResourceCommand,
|
|
71
|
-
ModifyCacheClusterCommand: client_elasticache_1.ModifyCacheClusterCommand,
|
|
72
|
-
ModifyCacheParameterGroupCommand: client_elasticache_1.ModifyCacheParameterGroupCommand,
|
|
73
|
-
ModifyCacheSubnetGroupCommand: client_elasticache_1.ModifyCacheSubnetGroupCommand,
|
|
74
|
-
ModifyGlobalReplicationGroupCommand: client_elasticache_1.ModifyGlobalReplicationGroupCommand,
|
|
75
|
-
ModifyReplicationGroupCommand: client_elasticache_1.ModifyReplicationGroupCommand,
|
|
76
|
-
ModifyReplicationGroupShardConfigurationCommand: client_elasticache_1.ModifyReplicationGroupShardConfigurationCommand,
|
|
77
|
-
ModifyServerlessCacheCommand: client_elasticache_1.ModifyServerlessCacheCommand,
|
|
78
|
-
ModifyUserCommand: client_elasticache_1.ModifyUserCommand,
|
|
79
|
-
ModifyUserGroupCommand: client_elasticache_1.ModifyUserGroupCommand,
|
|
80
|
-
PurchaseReservedCacheNodesOfferingCommand: client_elasticache_1.PurchaseReservedCacheNodesOfferingCommand,
|
|
81
|
-
RebalanceSlotsInGlobalReplicationGroupCommand: client_elasticache_1.RebalanceSlotsInGlobalReplicationGroupCommand,
|
|
82
|
-
RebootCacheClusterCommand: client_elasticache_1.RebootCacheClusterCommand,
|
|
83
|
-
RemoveTagsFromResourceCommand: client_elasticache_1.RemoveTagsFromResourceCommand,
|
|
84
|
-
ResetCacheParameterGroupCommand: client_elasticache_1.ResetCacheParameterGroupCommand,
|
|
85
|
-
RevokeCacheSecurityGroupIngressCommand: client_elasticache_1.RevokeCacheSecurityGroupIngressCommand,
|
|
86
|
-
StartMigrationCommand: client_elasticache_1.StartMigrationCommand,
|
|
87
|
-
TestFailoverCommand: client_elasticache_1.TestFailoverCommand,
|
|
88
|
-
TestMigrationCommand: client_elasticache_1.TestMigrationCommand,
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* @since 1.0.0
|
|
92
|
-
* @category constructors
|
|
93
|
-
*/
|
|
94
|
-
exports.makeElastiCacheService = effect_1.Effect.gen(function* (_) {
|
|
95
|
-
const client = yield* _(ElastiCacheClientInstance_1.ElastiCacheClientInstance);
|
|
96
|
-
return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
|
|
97
|
-
const CommandCtor = commands[command];
|
|
98
|
-
const methodImpl = (args, options) => effect_1.Effect.tryPromise({
|
|
99
|
-
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
100
|
-
...(options !== null && options !== void 0 ? options : {}),
|
|
101
|
-
abortSignal,
|
|
102
|
-
}),
|
|
103
|
-
catch: (e) => {
|
|
104
|
-
if (e instanceof client_elasticache_1.ElastiCacheServiceException &&
|
|
105
|
-
Errors_1.AllServiceErrors.includes(e.name)) {
|
|
106
|
-
const ServiceException = effect_1.Data.tagged(e.name);
|
|
107
|
-
return ServiceException({
|
|
108
|
-
...e,
|
|
109
|
-
message: e.message,
|
|
110
|
-
stack: e.stack,
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
if (e instanceof Error) {
|
|
114
|
-
return (0, Errors_1.SdkError)({
|
|
115
|
-
...e,
|
|
116
|
-
name: "SdkError",
|
|
117
|
-
message: e.message,
|
|
118
|
-
stack: e.stack,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
throw e;
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
|
|
125
|
-
return { ...acc, [methodName]: methodImpl };
|
|
126
|
-
}, {});
|
|
127
|
-
});
|
|
128
|
-
/**
|
|
129
|
-
* @since 1.0.0
|
|
130
|
-
* @category models
|
|
131
|
-
*/
|
|
132
|
-
class ElastiCacheService extends effect_1.Effect.Tag("@effect-aws/client-elasticache/ElastiCacheService")() {
|
|
133
|
-
}
|
|
134
|
-
exports.ElastiCacheService = ElastiCacheService;
|
|
135
|
-
_a = ElastiCacheService;
|
|
136
|
-
ElastiCacheService.defaultLayer = effect_1.Layer.effect(_a, exports.makeElastiCacheService).pipe(effect_1.Layer.provide(ElastiCacheClientInstance_1.ElastiCacheClientInstanceLayer), effect_1.Layer.provide(ElastiCacheClientInstanceConfig_1.DefaultElastiCacheClientConfigLayer));
|
|
137
|
-
ElastiCacheService.layer = (config) => effect_1.Layer.effect(_a, exports.makeElastiCacheService).pipe(effect_1.Layer.provide(ElastiCacheClientInstance_1.ElastiCacheClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(ElastiCacheClientInstanceConfig_1.ElastiCacheClientInstanceConfig, ElastiCacheClientInstanceConfig_1.makeDefaultElastiCacheClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
|
|
138
|
-
ElastiCacheService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeElastiCacheService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(ElastiCacheClientInstance_1.ElastiCacheClientInstance, effect_1.Effect.map(ElastiCacheClientInstanceConfig_1.makeDefaultElastiCacheClientInstanceConfig, evaluate))));
|
|
139
|
-
/**
|
|
140
|
-
* @since 1.0.0
|
|
141
|
-
* @category models
|
|
142
|
-
* @alias ElastiCacheService
|
|
143
|
-
*/
|
|
144
|
-
exports.ElastiCache = ElastiCacheService;
|
|
145
|
-
/**
|
|
146
|
-
* @since 1.0.0
|
|
147
|
-
* @category layers
|
|
148
|
-
* @deprecated use ElastiCache.baseLayer instead
|
|
149
|
-
*/
|
|
150
|
-
exports.BaseElastiCacheServiceLayer = effect_1.Layer.effect(ElastiCacheService, exports.makeElastiCacheService);
|
|
151
|
-
/**
|
|
152
|
-
* @since 1.0.0
|
|
153
|
-
* @category layers
|
|
154
|
-
* @deprecated use ElastiCache.layer instead
|
|
155
|
-
*/
|
|
156
|
-
exports.ElastiCacheServiceLayer = exports.BaseElastiCacheServiceLayer.pipe(effect_1.Layer.provide(ElastiCacheClientInstance_1.ElastiCacheClientInstanceLayer));
|
|
157
|
-
/**
|
|
158
|
-
* @since 1.0.0
|
|
159
|
-
* @category layers
|
|
160
|
-
* @deprecated use ElastiCache.defaultLayer instead
|
|
161
|
-
*/
|
|
162
|
-
exports.DefaultElastiCacheServiceLayer = ElastiCacheService.defaultLayer;
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0VsYXN0aUNhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCxvRUFxT3FDO0FBQ3JDLG1DQUFxRDtBQUNyRCwyRUFHcUM7QUFDckMsdUZBSTJDO0FBQzNDLHFDQWdGa0I7QUFhbEIsTUFBTSxRQUFRLEdBQUc7SUFDZix3QkFBd0IsRUFBeEIsNkNBQXdCO0lBQ3hCLHlDQUF5QyxFQUF6Qyw4REFBeUM7SUFDekMsNkJBQTZCLEVBQTdCLGtEQUE2QjtJQUM3Qiw0QkFBNEIsRUFBNUIsaURBQTRCO0lBQzVCLHdCQUF3QixFQUF4Qiw2Q0FBd0I7SUFDeEIsa0NBQWtDLEVBQWxDLHVEQUFrQztJQUNsQyxtQkFBbUIsRUFBbkIsd0NBQW1CO0lBQ25CLHlCQUF5QixFQUF6Qiw4Q0FBeUI7SUFDekIsZ0NBQWdDLEVBQWhDLHFEQUFnQztJQUNoQywrQkFBK0IsRUFBL0Isb0RBQStCO0lBQy9CLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsbUNBQW1DLEVBQW5DLHdEQUFtQztJQUNuQyw2QkFBNkIsRUFBN0Isa0RBQTZCO0lBQzdCLDRCQUE0QixFQUE1QixpREFBNEI7SUFDNUIsb0NBQW9DLEVBQXBDLHlEQUFvQztJQUNwQyxxQkFBcUIsRUFBckIsMENBQXFCO0lBQ3JCLGlCQUFpQixFQUFqQixzQ0FBaUI7SUFDakIsc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0QixpREFBaUQsRUFBakQsc0VBQWlEO0lBQ2pELDJCQUEyQixFQUEzQixnREFBMkI7SUFDM0IseUJBQXlCLEVBQXpCLDhDQUF5QjtJQUN6QixnQ0FBZ0MsRUFBaEMscURBQWdDO0lBQ2hDLCtCQUErQixFQUEvQixvREFBK0I7SUFDL0IsNkJBQTZCLEVBQTdCLGtEQUE2QjtJQUM3QixtQ0FBbUMsRUFBbkMsd0RBQW1DO0lBQ25DLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsNEJBQTRCLEVBQTVCLGlEQUE0QjtJQUM1QixvQ0FBb0MsRUFBcEMseURBQW9DO0lBQ3BDLHFCQUFxQixFQUFyQiwwQ0FBcUI7SUFDckIsaUJBQWlCLEVBQWpCLHNDQUFpQjtJQUNqQixzQkFBc0IsRUFBdEIsMkNBQXNCO0lBQ3RCLDRCQUE0QixFQUE1QixpREFBNEI7SUFDNUIsa0NBQWtDLEVBQWxDLHVEQUFrQztJQUNsQyxtQ0FBbUMsRUFBbkMsd0RBQW1DO0lBQ25DLDhCQUE4QixFQUE5QixtREFBOEI7SUFDOUIsa0NBQWtDLEVBQWxDLHVEQUFrQztJQUNsQyxnQ0FBZ0MsRUFBaEMscURBQWdDO0lBQ2hDLHNDQUFzQyxFQUF0QywyREFBc0M7SUFDdEMscUJBQXFCLEVBQXJCLDBDQUFxQjtJQUNyQixzQ0FBc0MsRUFBdEMsMkRBQXNDO0lBQ3RDLGdDQUFnQyxFQUFoQyxxREFBZ0M7SUFDaEMsaUNBQWlDLEVBQWpDLHNEQUFpQztJQUNqQywwQ0FBMEMsRUFBMUMsK0RBQTBDO0lBQzFDLHVDQUF1QyxFQUF2Qyw0REFBdUM7SUFDdkMsK0JBQStCLEVBQS9CLG9EQUErQjtJQUMvQiw2QkFBNkIsRUFBN0Isa0RBQTZCO0lBQzdCLHdCQUF3QixFQUF4Qiw2Q0FBd0I7SUFDeEIsNEJBQTRCLEVBQTVCLGlEQUE0QjtJQUM1Qix5QkFBeUIsRUFBekIsOENBQXlCO0lBQ3pCLG9CQUFvQixFQUFwQix5Q0FBb0I7SUFDcEIseUNBQXlDLEVBQXpDLDhEQUF5QztJQUN6QyxvQ0FBb0MsRUFBcEMseURBQW9DO0lBQ3BDLHFDQUFxQyxFQUFyQywwREFBcUM7SUFDckMsaURBQWlELEVBQWpELHNFQUFpRDtJQUNqRCwyQkFBMkIsRUFBM0IsZ0RBQTJCO0lBQzNCLHVDQUF1QyxFQUF2Qyw0REFBdUM7SUFDdkMsMEJBQTBCLEVBQTFCLCtDQUEwQjtJQUMxQix5QkFBeUIsRUFBekIsOENBQXlCO0lBQ3pCLGdDQUFnQyxFQUFoQyxxREFBZ0M7SUFDaEMsNkJBQTZCLEVBQTdCLGtEQUE2QjtJQUM3QixtQ0FBbUMsRUFBbkMsd0RBQW1DO0lBQ25DLDZCQUE2QixFQUE3QixrREFBNkI7SUFDN0IsK0NBQStDLEVBQS9DLG9FQUErQztJQUMvQyw0QkFBNEIsRUFBNUIsaURBQTRCO0lBQzVCLGlCQUFpQixFQUFqQixzQ0FBaUI7SUFDakIsc0JBQXNCLEVBQXRCLDJDQUFzQjtJQUN0Qix5Q0FBeUMsRUFBekMsOERBQXlDO0lBQ3pDLDZDQUE2QyxFQUE3QyxrRUFBNkM7SUFDN0MseUJBQXlCLEVBQXpCLDhDQUF5QjtJQUN6Qiw2QkFBNkIsRUFBN0Isa0RBQTZCO0lBQzdCLCtCQUErQixFQUEvQixvREFBK0I7SUFDL0Isc0NBQXNDLEVBQXRDLDJEQUFzQztJQUN0QyxxQkFBcUIsRUFBckIsMENBQXFCO0lBQ3JCLG1CQUFtQixFQUFuQix3Q0FBbUI7SUFDbkIsb0JBQW9CLEVBQXBCLHlDQUFvQjtDQUNyQixDQUFDO0FBOHRDRjs7O0dBR0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLGVBQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMscURBQXlCLENBQUMsQ0FBQztJQUVuRCxPQUFPLGVBQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUMxRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBNEIsRUFBRSxFQUFFLENBQzdELGVBQU0sQ0FBQyxVQUFVLENBQUM7WUFDaEIsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakMsR0FBRyxDQUFDLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztnQkFDbEIsV0FBVzthQUNaLENBQUM7WUFDSixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUNFLENBQUMsWUFBWSxnREFBMkI7b0JBQ3hDLHlCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ2pDLENBQUM7b0JBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxhQUFJLENBQUMsTUFBTSxDQUVsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRVYsT0FBTyxnQkFBZ0IsQ0FBQzt3QkFDdEIsR0FBRyxDQUFDO3dCQUNKLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixPQUFPLElBQUEsaUJBQVEsRUFBQzt3QkFDZCxHQUFHLENBQUM7d0JBQ0osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNMLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3RFLFVBQVUsRUFDVixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlDLENBQUMsRUFBRSxFQUFFLENBQXdCLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFFSDs7O0dBR0c7QUFDSCxNQUFhLGtCQUFtQixTQUFRLGVBQU0sQ0FBQyxHQUFHLENBQ2hELG1EQUFtRCxDQUNwRCxFQUEyQzs7QUFGNUMsZ0RBaUNDOztBQTlCaUIsK0JBQVksR0FBRyxjQUFLLENBQUMsTUFBTSxDQUN6QyxFQUFJLEVBQ0osOEJBQXNCLENBQ3ZCLENBQUMsSUFBSSxDQUNKLGNBQUssQ0FBQyxPQUFPLENBQUMsMERBQThCLENBQUMsRUFDN0MsY0FBSyxDQUFDLE9BQU8sQ0FBQyxxRUFBbUMsQ0FBQyxDQUNuRCxBQU4yQixDQU0xQjtBQUNjLHdCQUFLLEdBQUcsQ0FBQyxNQUErQixFQUFFLEVBQUUsQ0FDMUQsY0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFJLEVBQUUsOEJBQXNCLENBQUMsQ0FBQyxJQUFJLENBQzdDLGNBQUssQ0FBQyxPQUFPLENBQUMsMERBQThCLENBQUMsRUFDN0MsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLGlFQUErQixFQUMvQiw0RUFBMEMsQ0FBQyxJQUFJLENBQzdDLGVBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FDRixDQUNGLENBQ0YsQUFYa0IsQ0FXakI7QUFDWSw0QkFBUyxHQUFHLENBQzFCLFFBQXVFLEVBQ3ZFLEVBQUUsQ0FDRixjQUFLLENBQUMsTUFBTSxDQUFDLEVBQUksRUFBRSw4QkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FDN0MsY0FBSyxDQUFDLE9BQU8sQ0FDWCxjQUFLLENBQUMsTUFBTSxDQUNWLHFEQUF5QixFQUN6QixlQUFNLENBQUMsR0FBRyxDQUFDLDRFQUEwQyxFQUFFLFFBQVEsQ0FBQyxDQUNqRSxDQUNGLENBQ0YsQUFWc0IsQ0FVckI7QUFHTjs7OztHQUlHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsa0JBQWtCLENBQUM7QUFFOUM7Ozs7R0FJRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDckQsa0JBQWtCLEVBQ2xCLDhCQUFzQixDQUN2QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsbUNBQTJCLENBQUMsSUFBSSxDQUNyRSxjQUFLLENBQUMsT0FBTyxDQUFDLDBEQUE4QixDQUFDLENBQzlDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSw4QkFBOEIsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBFbGFzdGlDYWNoZVNlcnZpY2VFeGNlcHRpb24sXG4gIHR5cGUgRWxhc3RpQ2FjaGVDbGllbnQsXG4gIHR5cGUgRWxhc3RpQ2FjaGVDbGllbnRDb25maWcsXG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICB0eXBlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kLFxuICB0eXBlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENvbXBsZXRlTWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENvcHlTbmFwc2hvdENvbW1hbmQsXG4gIHR5cGUgQ29weVNuYXBzaG90Q29tbWFuZElucHV0LFxuICB0eXBlIENvcHlTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVVzZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVVzZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgdHlwZSBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVVzZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXZlbnRzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV2ZW50c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVNuYXBzaG90c0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZElucHV0LFxuICB0eXBlIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlVXNlcnNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlVXNlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVc2Vyc0NvbW1hbmRPdXRwdXQsXG4gIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgdHlwZSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIHR5cGUgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgdHlwZSBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXQsXG4gIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVVzZXJDb21tYW5kLFxuICB0eXBlIE1vZGlmeVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgTW9kaWZ5VXNlckNvbW1hbmRPdXRwdXQsXG4gIE1vZGlmeVVzZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIE1vZGlmeVVzZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kLFxuICB0eXBlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kSW5wdXQsXG4gIHR5cGUgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXQsXG4gIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgdHlwZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIHR5cGUgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICB0eXBlIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIHR5cGUgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICB0eXBlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0TWlncmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydE1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gIFRlc3RGYWlsb3ZlckNvbW1hbmQsXG4gIHR5cGUgVGVzdEZhaWxvdmVyQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RGYWlsb3ZlckNvbW1hbmRPdXRwdXQsXG4gIFRlc3RNaWdyYXRpb25Db21tYW5kLFxuICB0eXBlIFRlc3RNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgVGVzdE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZWxhc3RpY2FjaGVcIjtcbmltcG9ydCB7IERhdGEsIEVmZmVjdCwgTGF5ZXIsIFJlY29yZCB9IGZyb20gXCJlZmZlY3RcIjtcbmltcG9ydCB7XG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2UsXG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQVBJQ2FsbFJhdGVGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdEVycm9yLFxuICBDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yLFxuICBDYWNoZVBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENhY2hlUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgQ2FjaGVTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgQ2FjaGVTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIENhY2hlU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgQ2FjaGVTdWJuZXRHcm91cEluVXNlRXJyb3IsXG4gIENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIENhY2hlU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgQ2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIERlZmF1bHRVc2VyQXNzb2NpYXRlZFRvVXNlckdyb3VwRmF1bHRFcnJvcixcbiAgRGVmYXVsdFVzZXJSZXF1aXJlZEVycm9yLFxuICBEdXBsaWNhdGVVc2VyTmFtZUZhdWx0RXJyb3IsXG4gIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvcixcbiAgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yLFxuICBJbnZhbGlkQVJORmF1bHRFcnJvcixcbiAgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRDcmVkZW50aWFsc0Vycm9yLFxuICBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZEtNU0tleUZhdWx0RXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcixcbiAgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVN0YXRlRmF1bHRFcnJvcixcbiAgSW52YWxpZFNuYXBzaG90U3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkU3VibmV0RXJyb3IsXG4gIEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0RXJyb3IsXG4gIEludmFsaWRVc2VyU3RhdGVGYXVsdEVycm9yLFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvcixcbiAgTm9PcGVyYXRpb25GYXVsdEVycm9yLFxuICBOb2RlR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIE5vZGVHcm91cHNQZXJSZXBsaWNhdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yLFxuICBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5VW5kZXJNaWdyYXRpb25GYXVsdEVycm9yLFxuICBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yLFxuICBSZXBsaWNhdGlvbkdyb3VwTm90VW5kZXJNaWdyYXRpb25GYXVsdEVycm9yLFxuICBSZXNlcnZlZENhY2hlTm9kZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBSZXNlcnZlZENhY2hlTm9kZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvcixcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNlcnZlcmxlc3NDYWNoZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yLFxuICBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHRFcnJvcixcbiAgU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvcixcbiAgU25hcHNob3RGZWF0dXJlTm90U3VwcG9ydGVkRmF1bHRFcnJvcixcbiAgU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFN1Ym5ldEluVXNlRXJyb3IsXG4gIFN1Ym5ldE5vdEFsbG93ZWRGYXVsdEVycm9yLFxuICBUYWdOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yLFxuICBUZXN0RmFpbG92ZXJOb3RBdmFpbGFibGVGYXVsdEVycm9yLFxuICBVc2VyQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IsXG4gIFVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yLFxuICBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IsXG4gIFVzZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yLFxuICBVc2VyTm90Rm91bmRGYXVsdEVycm9yLFxuICBVc2VyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZCxcbiAgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmQsXG4gIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kLFxuICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmQsXG4gIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENvcHlTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmQsXG4gIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb21tYW5kLFxuICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZCxcbiAgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIENyZWF0ZVNuYXBzaG90Q29tbWFuZCxcbiAgQ3JlYXRlVXNlckNvbW1hbmQsXG4gIENyZWF0ZVVzZXJHcm91cENvbW1hbmQsXG4gIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmQsXG4gIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmQsXG4gIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZCxcbiAgRGVsZXRlU25hcHNob3RDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmQsXG4gIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kLFxuICBEZXNjcmliZUV2ZW50c0NvbW1hbmQsXG4gIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kLFxuICBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kLFxuICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmQsXG4gIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZCxcbiAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmQsXG4gIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZCxcbiAgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZCxcbiAgRGVzY3JpYmVVc2Vyc0NvbW1hbmQsXG4gIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kLFxuICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmQsXG4gIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIEluY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZCxcbiAgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kLFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kLFxuICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmQsXG4gIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kLFxuICBNb2RpZnlVc2VyQ29tbWFuZCxcbiAgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZCxcbiAgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmQsXG4gIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZCxcbiAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZCxcbiAgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmQsXG4gIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmQsXG4gIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kLFxuICBTdGFydE1pZ3JhdGlvbkNvbW1hbmQsXG4gIFRlc3RGYWlsb3ZlckNvbW1hbmQsXG4gIFRlc3RNaWdyYXRpb25Db21tYW5kLFxufTtcblxuaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VydmljZSQge1xuICByZWFkb25seSBfOiB1bmlxdWUgc3ltYm9sO1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICBhZGRUYWdzVG9SZXNvdXJjZShcbiAgICBhcmdzOiBBZGRUYWdzVG9SZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkZFRhZ3NUb1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEFSTkZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFJlc2VydmVkQ2FjaGVOb2RlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZH1cbiAgICovXG4gIGF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MoXG4gICAgYXJnczogQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEFwcGx5VXBkYXRlQWN0aW9uKFxuICAgIGFyZ3M6IEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yIHwgU2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgYmF0Y2hTdG9wVXBkYXRlQWN0aW9uKFxuICAgIGFyZ3M6IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciB8IFNlcnZpY2VVcGRhdGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29tcGxldGVNaWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgY29tcGxldGVNaWdyYXRpb24oXG4gICAgYXJnczogQ29tcGxldGVNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb21wbGV0ZU1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RVbmRlck1pZ3JhdGlvbkZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIGNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdChcbiAgICBhcmdzOiBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvcHlTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBjb3B5U25hcHNob3QoXG4gICAgYXJnczogQ29weVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29weVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVDYWNoZUNsdXN0ZXIoXG4gICAgYXJnczogQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDbHVzdGVyUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ2x1c3RlckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAoXG4gICAgYXJnczogQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVDYWNoZVN1Ym5ldEdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFN1Ym5ldEVycm9yXG4gICAgfCBTdWJuZXROb3RBbGxvd2VkRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFVzZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE5vZGVHcm91cHNQZXJSZXBsaWNhdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlcnZlcmxlc3NDYWNoZShcbiAgICBhcmdzOiBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICAgIHwgVXNlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90KFxuICAgIGFyZ3M6IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU25hcHNob3QoXG4gICAgYXJnczogQ3JlYXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdEZlYXR1cmVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVVzZXIoXG4gICAgYXJnczogQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IER1cGxpY2F0ZVVzZXJOYW1lRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgICB8IFVzZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgVXNlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VyR3JvdXAoXG4gICAgYXJnczogQ3JlYXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZWZhdWx0VXNlclJlcXVpcmVkRXJyb3JcbiAgICB8IER1cGxpY2F0ZVVzZXJOYW1lRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBUYWdRdW90YVBlclJlc291cmNlRXhjZWVkZWRFcnJvclxuICAgIHwgVXNlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFVzZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZH1cbiAgICovXG4gIGRlY3JlYXNlUmVwbGljYUNvdW50KFxuICAgIGFyZ3M6IERlY3JlYXNlUmVwbGljYUNvdW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVjcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRDYWNoZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBOb2RlR3JvdXBzUGVyUmVwbGljYXRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBOb2RlUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9PcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVDYWNoZUNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQ2FjaGVDbHVzdGVyKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90RmVhdHVyZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAoXG4gICAgYXJnczogRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUNhY2hlU3VibmV0R3JvdXAoXG4gICAgYXJnczogRGVsZXRlQ2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQ2FjaGVTdWJuZXRHcm91cEluVXNlRXJyb3IgfCBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cChcbiAgICBhcmdzOiBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlUmVwbGljYXRpb25Hcm91cChcbiAgICBhcmdzOiBEZWxldGVSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RGZWF0dXJlTm90U3VwcG9ydGVkRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VydmVybGVzc0NhY2hlKFxuICAgIGFyZ3M6IERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZlcmxlc3NDYWNoZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdChcbiAgICBhcmdzOiBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU25hcHNob3QoXG4gICAgYXJnczogRGVsZXRlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVXNlcihcbiAgICBhcmdzOiBEZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRGVmYXVsdFVzZXJBc3NvY2lhdGVkVG9Vc2VyR3JvdXBGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFVzZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyR3JvdXAoXG4gICAgYXJnczogRGVsZXRlVXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFVzZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDYWNoZUNsdXN0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyhcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LCBTZGtFcnJvcj47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzKFxuICAgIGFyZ3M6IERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzKFxuICAgIGFyZ3M6IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFdmVudHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFdmVudHMoXG4gICAgYXJnczogRGVzY3JpYmVFdmVudHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV2ZW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvciB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwcyhcbiAgICBhcmdzOiBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzKFxuICAgIGFyZ3M6IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MoXG4gICAgYXJnczogRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ05vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90cyhcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU2VydmVybGVzc0NhY2hlcyhcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU2VydmljZVVwZGF0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTZXJ2aWNlVXBkYXRlcyhcbiAgICBhcmdzOiBEZXNjcmliZVNlcnZpY2VVcGRhdGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBTZXJ2aWNlVXBkYXRlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU25hcHNob3RzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU25hcHNob3RzKFxuICAgIGFyZ3M6IERlc2NyaWJlU25hcHNob3RzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTbmFwc2hvdHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVwZGF0ZUFjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVVcGRhdGVBY3Rpb25zKFxuICAgIGFyZ3M6IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvciB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlVXNlckdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVVzZXJHcm91cHMoXG4gICAgYXJnczogRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVVc2VyR3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVXNlcnMoXG4gICAgYXJnczogRGVzY3JpYmVVc2Vyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXNlcnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kfVxuICAgKi9cbiAgZXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QoXG4gICAgYXJnczogRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBmYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBpbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kfVxuICAgKi9cbiAgaW5jcmVhc2VSZXBsaWNhQ291bnQoXG4gICAgYXJnczogSW5jcmVhc2VSZXBsaWNhQ291bnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBJbmNyZWFzZVJlcGxpY2FDb3VudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEtNU0tleUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yXG4gICAgfCBOb2RlR3JvdXBzUGVyUmVwbGljYXRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBOb2RlUXVvdGFGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9PcGVyYXRpb25GYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zKFxuICAgIGFyZ3M6IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRBUk5GYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZUNsdXN0ZXJDb21tYW5kfVxuICAgKi9cbiAgbW9kaWZ5Q2FjaGVDbHVzdGVyKFxuICAgIGFyZ3M6IE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUNhY2hlQ2x1c3RlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBDYWNoZVNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ2x1c3RlckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVQYXJhbWV0ZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeUNhY2hlU3VibmV0R3JvdXAoXG4gICAgYXJnczogTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTdWJuZXRFcnJvclxuICAgIHwgU3VibmV0SW5Vc2VFcnJvclxuICAgIHwgU3VibmV0Tm90QWxsb3dlZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlSZXBsaWNhdGlvbkdyb3VwKFxuICAgIGFyZ3M6IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkS01TS2V5RmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFVzZXJHcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFZQQ05ldHdvcmtTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnN1ZmZpY2llbnRDYWNoZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRLTVNLZXlGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvclxuICAgIHwgTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTW9kaWZ5U2VydmVybGVzc0NhY2hlQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeVNlcnZlcmxlc3NDYWNoZShcbiAgICBhcmdzOiBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBNb2RpZnlVc2VyQ29tbWFuZH1cbiAgICovXG4gIG1vZGlmeVVzZXIoXG4gICAgYXJnczogTW9kaWZ5VXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIE1vZGlmeVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFVzZXJTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE1vZGlmeVVzZXJHcm91cENvbW1hbmR9XG4gICAqL1xuICBtb2RpZnlVc2VyR3JvdXAoXG4gICAgYXJnczogTW9kaWZ5VXNlckdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTW9kaWZ5VXNlckdyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEZWZhdWx0VXNlclJlcXVpcmVkRXJyb3JcbiAgICB8IER1cGxpY2F0ZVVzZXJOYW1lRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVXNlckdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRGYXVsdEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb21tYW5kfVxuICAgKi9cbiAgcHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyhcbiAgICBhcmdzOiBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yXG4gICAgfCBSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ05vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgcmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAoXG4gICAgYXJnczogUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlYm9vdENhY2hlQ2x1c3RlckNvbW1hbmR9XG4gICAqL1xuICByZWJvb3RDYWNoZUNsdXN0ZXIoXG4gICAgYXJnczogUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVib290Q2FjaGVDbHVzdGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICByZW1vdmVUYWdzRnJvbVJlc291cmNlKFxuICAgIGFyZ3M6IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDYWNoZUNsdXN0ZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEFSTkZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkU2VydmVybGVzc0NhY2hlU25hcHNob3RTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFJlc2VydmVkQ2FjaGVOb2RlTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGFnTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29tbWFuZH1cbiAgICovXG4gIHJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cChcbiAgICBhcmdzOiBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkR2xvYmFsUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb21tYW5kfVxuICAgKi9cbiAgcmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyhcbiAgICBhcmdzOiBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkQ2FjaGVTZWN1cml0eUdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyQ29tYmluYXRpb25FcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRNaWdyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRNaWdyYXRpb24oXG4gICAgYXJnczogU3RhcnRNaWdyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydE1pZ3JhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3JcbiAgICB8IEludmFsaWRSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yXG4gICAgfCBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0RmFpbG92ZXJDb21tYW5kfVxuICAgKi9cbiAgdGVzdEZhaWxvdmVyKFxuICAgIGFyZ3M6IFRlc3RGYWlsb3ZlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RGYWlsb3ZlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQVBJQ2FsbFJhdGVGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHRFcnJvclxuICAgIHwgSW52YWxpZEtNU0tleUZhdWx0RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvclxuICAgIHwgSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3JcbiAgICB8IE5vZGVHcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvclxuICAgIHwgVGVzdEZhaWxvdmVyTm90QXZhaWxhYmxlRmF1bHRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0TWlncmF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHRlc3RNaWdyYXRpb24oXG4gICAgYXJnczogVGVzdE1pZ3JhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFRlc3RNaWdyYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yXG4gICAgfCBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvclxuICAgIHwgUmVwbGljYXRpb25Hcm91cEFscmVhZHlVbmRlck1pZ3JhdGlvbkZhdWx0RXJyb3JcbiAgICB8IFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VFbGFzdGlDYWNoZVNlcnZpY2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgRWxhc3RpQ2FjaGVTZXJ2aWNlRXhjZXB0aW9uICYmXG4gICAgICAgICAgICBBbGxTZXJ2aWNlRXJyb3JzLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IFNlcnZpY2VFeGNlcHRpb24gPSBEYXRhLnRhZ2dlZDxcbiAgICAgICAgICAgICAgVGFnZ2VkRXhjZXB0aW9uPEVsYXN0aUNhY2hlU2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgRWxhc3RpQ2FjaGVTZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVTZXJ2aWNlIGV4dGVuZHMgRWZmZWN0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtZWxhc3RpY2FjaGUvRWxhc3RpQ2FjaGVTZXJ2aWNlXCIsXG4pPEVsYXN0aUNhY2hlU2VydmljZSwgRWxhc3RpQ2FjaGVTZXJ2aWNlJD4oKSB7XG4gIHN0YXRpYyByZWFkb25seSBkZWZhdWx0TGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gICAgdGhpcyxcbiAgICBtYWtlRWxhc3RpQ2FjaGVTZXJ2aWNlLFxuICApLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuICBzdGF0aWMgcmVhZG9ubHkgbGF5ZXIgPSAoY29uZmlnOiBFbGFzdGlDYWNoZUNsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUVsYXN0aUNhY2hlU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZy5waXBlKFxuICAgICAgICAgICAgRWZmZWN0Lm1hcCgoZGVmYXVsdENvbmZpZykgPT4gKHsgLi4uZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xuICBzdGF0aWMgcmVhZG9ubHkgYmFzZUxheWVyID0gKFxuICAgIGV2YWx1YXRlOiAoZGVmYXVsdENvbmZpZzogRWxhc3RpQ2FjaGVDbGllbnRDb25maWcpID0+IEVsYXN0aUNhY2hlQ2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VFbGFzdGlDYWNoZVNlcnZpY2UpLnBpcGUoXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSxcbiAgICAgICAgICBFZmZlY3QubWFwKG1ha2VEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIEVsYXN0aUNhY2hlU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgRWxhc3RpQ2FjaGUgPSBFbGFzdGlDYWNoZVNlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgRWxhc3RpQ2FjaGUuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VFbGFzdGlDYWNoZVNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgRWxhc3RpQ2FjaGVTZXJ2aWNlLFxuICBtYWtlRWxhc3RpQ2FjaGVTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBFbGFzdGlDYWNoZS5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBFbGFzdGlDYWNoZVNlcnZpY2VMYXllciA9IEJhc2VFbGFzdGlDYWNoZVNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIEVsYXN0aUNhY2hlLmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0RWxhc3RpQ2FjaGVTZXJ2aWNlTGF5ZXIgPSBFbGFzdGlDYWNoZVNlcnZpY2UuZGVmYXVsdExheWVyO1xuIl19
|
package/lib/Errors.js
DELETED
|
@@ -1,84 +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
|
-
"APICallRateForCustomerExceededFault",
|
|
7
|
-
"AuthorizationAlreadyExistsFault",
|
|
8
|
-
"AuthorizationNotFoundFault",
|
|
9
|
-
"CacheClusterAlreadyExistsFault",
|
|
10
|
-
"CacheClusterNotFoundFault",
|
|
11
|
-
"CacheParameterGroupAlreadyExistsFault",
|
|
12
|
-
"CacheParameterGroupNotFoundFault",
|
|
13
|
-
"CacheParameterGroupQuotaExceededFault",
|
|
14
|
-
"CacheSecurityGroupAlreadyExistsFault",
|
|
15
|
-
"CacheSecurityGroupNotFoundFault",
|
|
16
|
-
"CacheSecurityGroupQuotaExceededFault",
|
|
17
|
-
"CacheSubnetGroupAlreadyExistsFault",
|
|
18
|
-
"CacheSubnetGroupInUse",
|
|
19
|
-
"CacheSubnetGroupNotFoundFault",
|
|
20
|
-
"CacheSubnetGroupQuotaExceededFault",
|
|
21
|
-
"CacheSubnetQuotaExceededFault",
|
|
22
|
-
"ClusterQuotaForCustomerExceededFault",
|
|
23
|
-
"DefaultUserAssociatedToUserGroupFault",
|
|
24
|
-
"DefaultUserRequired",
|
|
25
|
-
"DuplicateUserNameFault",
|
|
26
|
-
"GlobalReplicationGroupAlreadyExistsFault",
|
|
27
|
-
"GlobalReplicationGroupNotFoundFault",
|
|
28
|
-
"InsufficientCacheClusterCapacityFault",
|
|
29
|
-
"InvalidARNFault",
|
|
30
|
-
"InvalidCacheClusterStateFault",
|
|
31
|
-
"InvalidCacheParameterGroupStateFault",
|
|
32
|
-
"InvalidCacheSecurityGroupStateFault",
|
|
33
|
-
"InvalidCredentialsException",
|
|
34
|
-
"InvalidGlobalReplicationGroupStateFault",
|
|
35
|
-
"InvalidKMSKeyFault",
|
|
36
|
-
"InvalidParameterCombinationException",
|
|
37
|
-
"InvalidParameterValueException",
|
|
38
|
-
"InvalidReplicationGroupStateFault",
|
|
39
|
-
"InvalidServerlessCacheSnapshotStateFault",
|
|
40
|
-
"InvalidServerlessCacheStateFault",
|
|
41
|
-
"InvalidSnapshotStateFault",
|
|
42
|
-
"InvalidSubnet",
|
|
43
|
-
"InvalidUserGroupStateFault",
|
|
44
|
-
"InvalidUserStateFault",
|
|
45
|
-
"InvalidVPCNetworkStateFault",
|
|
46
|
-
"NoOperationFault",
|
|
47
|
-
"NodeGroupNotFoundFault",
|
|
48
|
-
"NodeGroupsPerReplicationGroupQuotaExceededFault",
|
|
49
|
-
"NodeQuotaForClusterExceededFault",
|
|
50
|
-
"NodeQuotaForCustomerExceededFault",
|
|
51
|
-
"ReplicationGroupAlreadyExistsFault",
|
|
52
|
-
"ReplicationGroupAlreadyUnderMigrationFault",
|
|
53
|
-
"ReplicationGroupNotFoundFault",
|
|
54
|
-
"ReplicationGroupNotUnderMigrationFault",
|
|
55
|
-
"ReservedCacheNodeAlreadyExistsFault",
|
|
56
|
-
"ReservedCacheNodeNotFoundFault",
|
|
57
|
-
"ReservedCacheNodeQuotaExceededFault",
|
|
58
|
-
"ReservedCacheNodesOfferingNotFoundFault",
|
|
59
|
-
"ServerlessCacheAlreadyExistsFault",
|
|
60
|
-
"ServerlessCacheNotFoundFault",
|
|
61
|
-
"ServerlessCacheQuotaForCustomerExceededFault",
|
|
62
|
-
"ServerlessCacheSnapshotAlreadyExistsFault",
|
|
63
|
-
"ServerlessCacheSnapshotNotFoundFault",
|
|
64
|
-
"ServerlessCacheSnapshotQuotaExceededFault",
|
|
65
|
-
"ServiceLinkedRoleNotFoundFault",
|
|
66
|
-
"ServiceUpdateNotFoundFault",
|
|
67
|
-
"SnapshotAlreadyExistsFault",
|
|
68
|
-
"SnapshotFeatureNotSupportedFault",
|
|
69
|
-
"SnapshotNotFoundFault",
|
|
70
|
-
"SnapshotQuotaExceededFault",
|
|
71
|
-
"SubnetInUse",
|
|
72
|
-
"SubnetNotAllowedFault",
|
|
73
|
-
"TagNotFoundFault",
|
|
74
|
-
"TagQuotaPerResourceExceeded",
|
|
75
|
-
"TestFailoverNotAvailableFault",
|
|
76
|
-
"UserAlreadyExistsFault",
|
|
77
|
-
"UserGroupAlreadyExistsFault",
|
|
78
|
-
"UserGroupNotFoundFault",
|
|
79
|
-
"UserGroupQuotaExceededFault",
|
|
80
|
-
"UserNotFoundFault",
|
|
81
|
-
"UserQuotaExceededFault",
|
|
82
|
-
];
|
|
83
|
-
exports.SdkError = effect_1.Data.tagged("SdkError");
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4RUEsbUNBQThCO0FBRWpCLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIscUNBQXFDO0lBQ3JDLGlDQUFpQztJQUNqQyw0QkFBNEI7SUFDNUIsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtJQUMzQix1Q0FBdUM7SUFDdkMsa0NBQWtDO0lBQ2xDLHVDQUF1QztJQUN2QyxzQ0FBc0M7SUFDdEMsaUNBQWlDO0lBQ2pDLHNDQUFzQztJQUN0QyxvQ0FBb0M7SUFDcEMsdUJBQXVCO0lBQ3ZCLCtCQUErQjtJQUMvQixvQ0FBb0M7SUFDcEMsK0JBQStCO0lBQy9CLHNDQUFzQztJQUN0Qyx1Q0FBdUM7SUFDdkMscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QiwwQ0FBMEM7SUFDMUMscUNBQXFDO0lBQ3JDLHVDQUF1QztJQUN2QyxpQkFBaUI7SUFDakIsK0JBQStCO0lBQy9CLHNDQUFzQztJQUN0QyxxQ0FBcUM7SUFDckMsNkJBQTZCO0lBQzdCLHlDQUF5QztJQUN6QyxvQkFBb0I7SUFDcEIsc0NBQXNDO0lBQ3RDLGdDQUFnQztJQUNoQyxtQ0FBbUM7SUFDbkMsMENBQTBDO0lBQzFDLGtDQUFrQztJQUNsQywyQkFBMkI7SUFDM0IsZUFBZTtJQUNmLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsaURBQWlEO0lBQ2pELGtDQUFrQztJQUNsQyxtQ0FBbUM7SUFDbkMsb0NBQW9DO0lBQ3BDLDRDQUE0QztJQUM1QywrQkFBK0I7SUFDL0Isd0NBQXdDO0lBQ3hDLHFDQUFxQztJQUNyQyxnQ0FBZ0M7SUFDaEMscUNBQXFDO0lBQ3JDLHlDQUF5QztJQUN6QyxtQ0FBbUM7SUFDbkMsOEJBQThCO0lBQzlCLDhDQUE4QztJQUM5QywyQ0FBMkM7SUFDM0Msc0NBQXNDO0lBQ3RDLDJDQUEyQztJQUMzQyxnQ0FBZ0M7SUFDaEMsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1QixrQ0FBa0M7SUFDbEMsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1QixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0Isd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsd0JBQXdCO0NBQ3pCLENBQUM7QUFvSlcsUUFBQSxRQUFRLEdBQUcsYUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQVBJQ2FsbFJhdGVGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHQsXG4gIEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHQsXG4gIEF1dGhvcml6YXRpb25Ob3RGb3VuZEZhdWx0LFxuICBDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHQsXG4gIENhY2hlUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIENhY2hlUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHQsXG4gIENhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgQ2FjaGVTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgQ2FjaGVTdWJuZXRHcm91cEluVXNlLFxuICBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdCxcbiAgQ2FjaGVTdWJuZXRHcm91cFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgQ2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIENsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdCxcbiAgRGVmYXVsdFVzZXJBc3NvY2lhdGVkVG9Vc2VyR3JvdXBGYXVsdCxcbiAgRGVmYXVsdFVzZXJSZXF1aXJlZCxcbiAgRHVwbGljYXRlVXNlck5hbWVGYXVsdCxcbiAgR2xvYmFsUmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgR2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHQsXG4gIEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHQsXG4gIEludmFsaWRBUk5GYXVsdCxcbiAgSW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHQsXG4gIEludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdCxcbiAgSW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHQsXG4gIEludmFsaWRDcmVkZW50aWFsc0V4Y2VwdGlvbixcbiAgSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0LFxuICBJbnZhbGlkS01TS2V5RmF1bHQsXG4gIEludmFsaWRQYXJhbWV0ZXJDb21iaW5hdGlvbkV4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uLFxuICBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHQsXG4gIEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHQsXG4gIEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0LFxuICBJbnZhbGlkU25hcHNob3RTdGF0ZUZhdWx0LFxuICBJbnZhbGlkU3VibmV0LFxuICBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdCxcbiAgSW52YWxpZFVzZXJTdGF0ZUZhdWx0LFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHQsXG4gIE5vT3BlcmF0aW9uRmF1bHQsXG4gIE5vZGVHcm91cE5vdEZvdW5kRmF1bHQsXG4gIE5vZGVHcm91cHNQZXJSZXBsaWNhdGlvbkdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdCxcbiAgTm9kZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0LFxuICBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHQsXG4gIFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBSZXBsaWNhdGlvbkdyb3VwTm90VW5kZXJNaWdyYXRpb25GYXVsdCxcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIFJlc2VydmVkQ2FjaGVOb2RlTm90Rm91bmRGYXVsdCxcbiAgUmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRGYXVsdCxcbiAgU2VydmVybGVzc0NhY2hlQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0LFxuICBTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdCxcbiAgU2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Tm90Rm91bmRGYXVsdCxcbiAgU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFNlcnZpY2VMaW5rZWRSb2xlTm90Rm91bmRGYXVsdCxcbiAgU2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHQsXG4gIFNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBTbmFwc2hvdEZlYXR1cmVOb3RTdXBwb3J0ZWRGYXVsdCxcbiAgU25hcHNob3ROb3RGb3VuZEZhdWx0LFxuICBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgU3VibmV0SW5Vc2UsXG4gIFN1Ym5ldE5vdEFsbG93ZWRGYXVsdCxcbiAgVGFnTm90Rm91bmRGYXVsdCxcbiAgVGFnUXVvdGFQZXJSZXNvdXJjZUV4Y2VlZGVkLFxuICBUZXN0RmFpbG92ZXJOb3RBdmFpbGFibGVGYXVsdCxcbiAgVXNlckFscmVhZHlFeGlzdHNGYXVsdCxcbiAgVXNlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFVzZXJOb3RGb3VuZEZhdWx0LFxuICBVc2VyUXVvdGFFeGNlZWRlZEZhdWx0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWVsYXN0aWNhY2hlXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBUElDYWxsUmF0ZUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIkF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdFwiLFxuICBcIkNhY2hlQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkNhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHRcIixcbiAgXCJDYWNoZVBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiQ2FjaGVTZWN1cml0eUdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkNhY2hlU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkNhY2hlU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJDYWNoZVN1Ym5ldEdyb3VwSW5Vc2VcIixcbiAgXCJDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkNhY2hlU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJDYWNoZVN1Ym5ldFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkNsdXN0ZXJRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIkRlZmF1bHRVc2VyQXNzb2NpYXRlZFRvVXNlckdyb3VwRmF1bHRcIixcbiAgXCJEZWZhdWx0VXNlclJlcXVpcmVkXCIsXG4gIFwiRHVwbGljYXRlVXNlck5hbWVGYXVsdFwiLFxuICBcIkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHRcIixcbiAgXCJJbnZhbGlkQVJORmF1bHRcIixcbiAgXCJJbnZhbGlkQ2FjaGVDbHVzdGVyU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRDYWNoZVBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZENyZWRlbnRpYWxzRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZEtNU0tleUZhdWx0XCIsXG4gIFwiSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFBhcmFtZXRlclZhbHVlRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFJlcGxpY2F0aW9uR3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZFNuYXBzaG90U3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRTdWJuZXRcIixcbiAgXCJJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRVc2VyU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdFwiLFxuICBcIk5vT3BlcmF0aW9uRmF1bHRcIixcbiAgXCJOb2RlR3JvdXBOb3RGb3VuZEZhdWx0XCIsXG4gIFwiTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIk5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIlJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHRcIixcbiAgXCJSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIlJlcGxpY2F0aW9uR3JvdXBOb3RVbmRlck1pZ3JhdGlvbkZhdWx0XCIsXG4gIFwiUmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJSZXNlcnZlZENhY2hlTm9kZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJSZXNlcnZlZENhY2hlTm9kZVF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIlJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nTm90Rm91bmRGYXVsdFwiLFxuICBcIlNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlNlcnZlcmxlc3NDYWNoZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdFwiLFxuICBcIlNlcnZlcmxlc3NDYWNoZVNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0XCIsXG4gIFwiU2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJTZXJ2aWNlTGlua2VkUm9sZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJTZXJ2aWNlVXBkYXRlTm90Rm91bmRGYXVsdFwiLFxuICBcIlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiU25hcHNob3RGZWF0dXJlTm90U3VwcG9ydGVkRmF1bHRcIixcbiAgXCJTbmFwc2hvdE5vdEZvdW5kRmF1bHRcIixcbiAgXCJTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIlN1Ym5ldEluVXNlXCIsXG4gIFwiU3VibmV0Tm90QWxsb3dlZEZhdWx0XCIsXG4gIFwiVGFnTm90Rm91bmRGYXVsdFwiLFxuICBcIlRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZFwiLFxuICBcIlRlc3RGYWlsb3Zlck5vdEF2YWlsYWJsZUZhdWx0XCIsXG4gIFwiVXNlckFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlVzZXJHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJVc2VyTm90Rm91bmRGYXVsdFwiLFxuICBcIlVzZXJRdW90YUV4Y2VlZGVkRmF1bHRcIixcbl07XG5cbmV4cG9ydCB0eXBlIFRhZ2dlZEV4Y2VwdGlvbjxUIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4gPSBUICYge1xuICByZWFkb25seSBfdGFnOiBUW1wibmFtZVwiXTtcbn07XG5cbmV4cG9ydCB0eXBlIEFQSUNhbGxSYXRlRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248QVBJQ2FsbFJhdGVGb3JDdXN0b21lckV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZUNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlQ2x1c3Rlck5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBDYWNoZVBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2FjaGVQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2FjaGVTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2FjaGVTZWN1cml0eUdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0R3JvdXBJblVzZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENhY2hlU3VibmV0R3JvdXBJblVzZT47XG5leHBvcnQgdHlwZSBDYWNoZVN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENhY2hlU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDYWNoZVN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENhY2hlU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2FjaGVTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q2x1c3RlclF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERlZmF1bHRVc2VyQXNzb2NpYXRlZFRvVXNlckdyb3VwRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEZWZhdWx0VXNlckFzc29jaWF0ZWRUb1VzZXJHcm91cEZhdWx0PjtcbmV4cG9ydCB0eXBlIERlZmF1bHRVc2VyUmVxdWlyZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxEZWZhdWx0VXNlclJlcXVpcmVkPjtcbmV4cG9ydCB0eXBlIER1cGxpY2F0ZVVzZXJOYW1lRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEdXBsaWNhdGVVc2VyTmFtZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248R2xvYmFsUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW5zdWZmaWNpZW50Q2FjaGVDbHVzdGVyQ2FwYWNpdHlGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEluc3VmZmljaWVudENhY2hlQ2x1c3RlckNhcGFjaXR5RmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZEFSTkZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZEFSTkZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRDYWNoZUNsdXN0ZXJTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENhY2hlQ2x1c3RlclN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENhY2hlUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRDYWNoZVNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENhY2hlU2VjdXJpdHlHcm91cFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZENyZWRlbnRpYWxzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZENyZWRlbnRpYWxzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRHbG9iYWxSZXBsaWNhdGlvbkdyb3VwU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkS01TS2V5RmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkS01TS2V5RmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhcmFtZXRlckNvbWJpbmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQYXJhbWV0ZXJWYWx1ZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkUmVwbGljYXRpb25Hcm91cFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90U3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNlcnZlcmxlc3NDYWNoZVN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkU2VydmVybGVzc0NhY2hlU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkU25hcHNob3RTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFNuYXBzaG90U3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkU3VibmV0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFN1Ym5ldD47XG5leHBvcnQgdHlwZSBJbnZhbGlkVXNlckdyb3VwU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRVc2VyR3JvdXBTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRVc2VyU3RhdGVGYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRVc2VyU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTm9PcGVyYXRpb25GYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE5vT3BlcmF0aW9uRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTm9kZUdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE5vZGVHcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTm9kZUdyb3Vwc1BlclJlcGxpY2F0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxOb2RlR3JvdXBzUGVyUmVwbGljYXRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBOb2RlUXVvdGFGb3JDbHVzdGVyRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE5vZGVRdW90YUZvckNsdXN0ZXJFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE5vZGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVwbGljYXRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxSZXBsaWNhdGlvbkdyb3VwQWxyZWFkeVVuZGVyTWlncmF0aW9uRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVwbGljYXRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxSZXBsaWNhdGlvbkdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBSZXBsaWNhdGlvbkdyb3VwTm90VW5kZXJNaWdyYXRpb25GYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFJlcGxpY2F0aW9uR3JvdXBOb3RVbmRlck1pZ3JhdGlvbkZhdWx0PjtcbmV4cG9ydCB0eXBlIFJlc2VydmVkQ2FjaGVOb2RlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFJlc2VydmVkQ2FjaGVOb2RlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZlcmxlc3NDYWNoZUFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBTZXJ2ZXJsZXNzQ2FjaGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBTZXJ2ZXJsZXNzQ2FjaGVRdW90YUZvckN1c3RvbWVyRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZlcmxlc3NDYWNoZVF1b3RhRm9yQ3VzdG9tZXJFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlU25hcHNob3ROb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmVybGVzc0NhY2hlU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZUxpbmtlZFJvbGVOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNlcnZpY2VVcGRhdGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U2VydmljZVVwZGF0ZU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBTbmFwc2hvdEZlYXR1cmVOb3RTdXBwb3J0ZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90RmVhdHVyZU5vdFN1cHBvcnRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNuYXBzaG90Tm90Rm91bmRGYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90Tm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFN1Ym5ldEluVXNlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3VibmV0SW5Vc2U+O1xuZXhwb3J0IHR5cGUgU3VibmV0Tm90QWxsb3dlZEZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3VibmV0Tm90QWxsb3dlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFRhZ05vdEZvdW5kRmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUYWdOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRhZ1F1b3RhUGVyUmVzb3VyY2VFeGNlZWRlZD47XG5leHBvcnQgdHlwZSBUZXN0RmFpbG92ZXJOb3RBdmFpbGFibGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRlc3RGYWlsb3Zlck5vdEF2YWlsYWJsZUZhdWx0PjtcbmV4cG9ydCB0eXBlIFVzZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVc2VyQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIFVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVzZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBVc2VyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VXNlckdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVc2VyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgVXNlck5vdEZvdW5kRmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxVc2VyTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBVc2VyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VXNlclF1b3RhRXhjZWVkZWRGYXVsdD47XG5cbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import { ElastiCacheClient } from "@aws-sdk/client-elasticache";
|
|
5
|
-
import * as Context from "effect/Context";
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import * as Layer from "effect/Layer";
|
|
8
|
-
import { DefaultElastiCacheClientConfigLayer, ElastiCacheClientInstanceConfig, } from "./ElastiCacheClientInstanceConfig";
|
|
9
|
-
/**
|
|
10
|
-
* @since 1.0.0
|
|
11
|
-
* @category tags
|
|
12
|
-
*/
|
|
13
|
-
export class ElastiCacheClientInstance extends Context.Tag("@effect-aws/client-elasticache/ElastiCacheClientInstance")() {
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @since 1.0.0
|
|
17
|
-
* @category constructors
|
|
18
|
-
*/
|
|
19
|
-
export const makeElastiCacheClientInstance = Effect.map(ElastiCacheClientInstanceConfig, (config) => new ElastiCacheClient(config));
|
|
20
|
-
/**
|
|
21
|
-
* @since 1.0.0
|
|
22
|
-
* @category layers
|
|
23
|
-
*/
|
|
24
|
-
export const ElastiCacheClientInstanceLayer = Layer.effect(ElastiCacheClientInstance, makeElastiCacheClientInstance);
|
|
25
|
-
/**
|
|
26
|
-
* @since 1.0.0
|
|
27
|
-
* @category layers
|
|
28
|
-
*/
|
|
29
|
-
export const DefaultElastiCacheClientInstanceLayer = ElastiCacheClientInstanceLayer.pipe(Layer.provide(DefaultElastiCacheClientConfigLayer));
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLCtCQUErQixHQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTNDOzs7R0FHRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUN4RCwwREFBMEQsQ0FDM0QsRUFBZ0Q7Q0FBRztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUNyRCwrQkFBK0IsRUFDL0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQzFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN4RCx5QkFBeUIsRUFDekIsNkJBQTZCLENBQzlCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FDaEQsOEJBQThCLENBQUMsSUFBSSxDQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBFbGFzdGlDYWNoZUNsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZWxhc3RpY2FjaGVcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRFbGFzdGlDYWNoZUNsaWVudENvbmZpZ0xheWVyLFxuICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1lbGFzdGljYWNoZS9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlXCIsXG4pPEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2UsIEVsYXN0aUNhY2hlQ2xpZW50PigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5tYXAoXG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIChjb25maWcpID0+IG5ldyBFbGFzdGlDYWNoZUNsaWVudChjb25maWcpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSxcbiAgbWFrZUVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllciA9XG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
|
|
@@ -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 ElastiCacheClientInstanceConfig extends Context.Tag("@effect-aws/client-elasticache/ElastiCacheClientInstanceConfig")() {
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* @since 1.0.0
|
|
10
|
-
* @category constructors
|
|
11
|
-
*/
|
|
12
|
-
export const makeDefaultElastiCacheClientInstanceConfig = 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 DefaultElastiCacheClientConfigLayer = Layer.effect(ElastiCacheClientInstanceConfig, makeDefaultElastiCacheClientInstanceConfig);
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFekQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLE9BQU8sQ0FBQyxHQUFHLENBQzlELGdFQUFnRSxDQUNqRSxFQUE0RDtDQUFHO0FBRWhFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekMsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLElBQUksQ0FBQyxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUM3RCwrQkFBK0IsRUFDL0IsMENBQTBDLENBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1lbGFzdGljYWNoZVwiO1xuaW1wb3J0IHsgQ29udGV4dCwgRWZmZWN0LCBMYXllciwgUnVudGltZSB9IGZyb20gXCJlZmZlY3RcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWVsYXN0aWNhY2hlL0VsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWdcIixcbik8RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZywgRWxhc3RpQ2FjaGVDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZzogRWZmZWN0LkVmZmVjdDxFbGFzdGlDYWNoZUNsaWVudENvbmZpZz4gPVxuICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICAgIGNvbnN0IHJ1bnRpbWUgPSB5aWVsZCogXyhFZmZlY3QucnVudGltZTxuZXZlcj4oKSk7XG4gICAgY29uc3QgcnVuU3luYyA9IFJ1bnRpbWUucnVuU3luYyhydW50aW1lKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgd2FybihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dFcnJvcihtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYWNlKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nVHJhY2UobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgbWFrZURlZmF1bHRFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLFxuKTtcbiJdfQ==
|