@effect-aws/client-cognito-identity-provider 1.0.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.
@@ -0,0 +1,173 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { CognitoIdentityProviderServiceException, AddCustomAttributesCommand, AdminAddUserToGroupCommand, AdminConfirmSignUpCommand, AdminCreateUserCommand, AdminDeleteUserCommand, AdminDeleteUserAttributesCommand, AdminDisableProviderForUserCommand, AdminDisableUserCommand, AdminEnableUserCommand, AdminForgetDeviceCommand, AdminGetDeviceCommand, AdminGetUserCommand, AdminInitiateAuthCommand, AdminLinkProviderForUserCommand, AdminListDevicesCommand, AdminListGroupsForUserCommand, AdminListUserAuthEventsCommand, AdminRemoveUserFromGroupCommand, AdminResetUserPasswordCommand, AdminRespondToAuthChallengeCommand, AdminSetUserMFAPreferenceCommand, AdminSetUserPasswordCommand, AdminSetUserSettingsCommand, AdminUpdateAuthEventFeedbackCommand, AdminUpdateDeviceStatusCommand, AdminUpdateUserAttributesCommand, AdminUserGlobalSignOutCommand, AssociateSoftwareTokenCommand, ChangePasswordCommand, ConfirmDeviceCommand, ConfirmForgotPasswordCommand, ConfirmSignUpCommand, CreateGroupCommand, CreateIdentityProviderCommand, CreateResourceServerCommand, CreateUserImportJobCommand, CreateUserPoolCommand, CreateUserPoolClientCommand, CreateUserPoolDomainCommand, DeleteGroupCommand, DeleteIdentityProviderCommand, DeleteResourceServerCommand, DeleteUserCommand, DeleteUserAttributesCommand, DeleteUserPoolCommand, DeleteUserPoolClientCommand, DeleteUserPoolDomainCommand, DescribeIdentityProviderCommand, DescribeResourceServerCommand, DescribeRiskConfigurationCommand, DescribeUserImportJobCommand, DescribeUserPoolCommand, DescribeUserPoolClientCommand, DescribeUserPoolDomainCommand, ForgetDeviceCommand, ForgotPasswordCommand, GetCSVHeaderCommand, GetDeviceCommand, GetGroupCommand, GetIdentityProviderByIdentifierCommand, GetLogDeliveryConfigurationCommand, GetSigningCertificateCommand, GetUICustomizationCommand, GetUserCommand, GetUserAttributeVerificationCodeCommand, GetUserPoolMfaConfigCommand, GlobalSignOutCommand, InitiateAuthCommand, ListDevicesCommand, ListGroupsCommand, ListIdentityProvidersCommand, ListResourceServersCommand, ListTagsForResourceCommand, ListUserImportJobsCommand, ListUserPoolClientsCommand, ListUserPoolsCommand, ListUsersCommand, ListUsersInGroupCommand, ResendConfirmationCodeCommand, RespondToAuthChallengeCommand, RevokeTokenCommand, SetLogDeliveryConfigurationCommand, SetRiskConfigurationCommand, SetUICustomizationCommand, SetUserMFAPreferenceCommand, SetUserPoolMfaConfigCommand, SetUserSettingsCommand, SignUpCommand, StartUserImportJobCommand, StopUserImportJobCommand, TagResourceCommand, UntagResourceCommand, UpdateAuthEventFeedbackCommand, UpdateDeviceStatusCommand, UpdateGroupCommand, UpdateIdentityProviderCommand, UpdateResourceServerCommand, UpdateUserAttributesCommand, UpdateUserPoolCommand, UpdateUserPoolClientCommand, UpdateUserPoolDomainCommand, VerifySoftwareTokenCommand, VerifyUserAttributeCommand, } from "@aws-sdk/client-cognito-identity-provider";
5
+ import { Data, Effect, Layer, Record } from "effect";
6
+ import { CognitoIdentityProviderClientInstance, CognitoIdentityProviderClientInstanceLayer, } from "./CognitoIdentityProviderClientInstance";
7
+ import { DefaultCognitoIdentityProviderClientConfigLayer } from "./CognitoIdentityProviderClientInstanceConfig";
8
+ import { AllServiceErrors, SdkError, } from "./Errors";
9
+ const commands = {
10
+ AddCustomAttributesCommand,
11
+ AdminAddUserToGroupCommand,
12
+ AdminConfirmSignUpCommand,
13
+ AdminCreateUserCommand,
14
+ AdminDeleteUserCommand,
15
+ AdminDeleteUserAttributesCommand,
16
+ AdminDisableProviderForUserCommand,
17
+ AdminDisableUserCommand,
18
+ AdminEnableUserCommand,
19
+ AdminForgetDeviceCommand,
20
+ AdminGetDeviceCommand,
21
+ AdminGetUserCommand,
22
+ AdminInitiateAuthCommand,
23
+ AdminLinkProviderForUserCommand,
24
+ AdminListDevicesCommand,
25
+ AdminListGroupsForUserCommand,
26
+ AdminListUserAuthEventsCommand,
27
+ AdminRemoveUserFromGroupCommand,
28
+ AdminResetUserPasswordCommand,
29
+ AdminRespondToAuthChallengeCommand,
30
+ AdminSetUserMFAPreferenceCommand,
31
+ AdminSetUserPasswordCommand,
32
+ AdminSetUserSettingsCommand,
33
+ AdminUpdateAuthEventFeedbackCommand,
34
+ AdminUpdateDeviceStatusCommand,
35
+ AdminUpdateUserAttributesCommand,
36
+ AdminUserGlobalSignOutCommand,
37
+ AssociateSoftwareTokenCommand,
38
+ ChangePasswordCommand,
39
+ ConfirmDeviceCommand,
40
+ ConfirmForgotPasswordCommand,
41
+ ConfirmSignUpCommand,
42
+ CreateGroupCommand,
43
+ CreateIdentityProviderCommand,
44
+ CreateResourceServerCommand,
45
+ CreateUserImportJobCommand,
46
+ CreateUserPoolCommand,
47
+ CreateUserPoolClientCommand,
48
+ CreateUserPoolDomainCommand,
49
+ DeleteGroupCommand,
50
+ DeleteIdentityProviderCommand,
51
+ DeleteResourceServerCommand,
52
+ DeleteUserCommand,
53
+ DeleteUserAttributesCommand,
54
+ DeleteUserPoolCommand,
55
+ DeleteUserPoolClientCommand,
56
+ DeleteUserPoolDomainCommand,
57
+ DescribeIdentityProviderCommand,
58
+ DescribeResourceServerCommand,
59
+ DescribeRiskConfigurationCommand,
60
+ DescribeUserImportJobCommand,
61
+ DescribeUserPoolCommand,
62
+ DescribeUserPoolClientCommand,
63
+ DescribeUserPoolDomainCommand,
64
+ ForgetDeviceCommand,
65
+ ForgotPasswordCommand,
66
+ GetCSVHeaderCommand,
67
+ GetDeviceCommand,
68
+ GetGroupCommand,
69
+ GetIdentityProviderByIdentifierCommand,
70
+ GetLogDeliveryConfigurationCommand,
71
+ GetSigningCertificateCommand,
72
+ GetUICustomizationCommand,
73
+ GetUserCommand,
74
+ GetUserAttributeVerificationCodeCommand,
75
+ GetUserPoolMfaConfigCommand,
76
+ GlobalSignOutCommand,
77
+ InitiateAuthCommand,
78
+ ListDevicesCommand,
79
+ ListGroupsCommand,
80
+ ListIdentityProvidersCommand,
81
+ ListResourceServersCommand,
82
+ ListTagsForResourceCommand,
83
+ ListUserImportJobsCommand,
84
+ ListUserPoolClientsCommand,
85
+ ListUserPoolsCommand,
86
+ ListUsersCommand,
87
+ ListUsersInGroupCommand,
88
+ ResendConfirmationCodeCommand,
89
+ RespondToAuthChallengeCommand,
90
+ RevokeTokenCommand,
91
+ SetLogDeliveryConfigurationCommand,
92
+ SetRiskConfigurationCommand,
93
+ SetUICustomizationCommand,
94
+ SetUserMFAPreferenceCommand,
95
+ SetUserPoolMfaConfigCommand,
96
+ SetUserSettingsCommand,
97
+ SignUpCommand,
98
+ StartUserImportJobCommand,
99
+ StopUserImportJobCommand,
100
+ TagResourceCommand,
101
+ UntagResourceCommand,
102
+ UpdateAuthEventFeedbackCommand,
103
+ UpdateDeviceStatusCommand,
104
+ UpdateGroupCommand,
105
+ UpdateIdentityProviderCommand,
106
+ UpdateResourceServerCommand,
107
+ UpdateUserAttributesCommand,
108
+ UpdateUserPoolCommand,
109
+ UpdateUserPoolClientCommand,
110
+ UpdateUserPoolDomainCommand,
111
+ VerifySoftwareTokenCommand,
112
+ VerifyUserAttributeCommand,
113
+ };
114
+ /**
115
+ * @since 1.0.0
116
+ * @category models
117
+ */
118
+ export class CognitoIdentityProviderService extends Effect.Tag("@effect-aws/client-cognito-identity-provider/CognitoIdentityProviderService")() {
119
+ }
120
+ /**
121
+ * @since 1.0.0
122
+ * @category constructors
123
+ */
124
+ export const makeCognitoIdentityProviderService = Effect.gen(function* (_) {
125
+ const client = yield* _(CognitoIdentityProviderClientInstance);
126
+ return Record.toEntries(commands).reduce((acc, [command]) => {
127
+ const CommandCtor = commands[command];
128
+ const methodImpl = (args, options) => Effect.tryPromise({
129
+ try: (abortSignal) => client.send(new CommandCtor(args), {
130
+ ...(options !== null && options !== void 0 ? options : {}),
131
+ abortSignal,
132
+ }),
133
+ catch: (e) => {
134
+ if (e instanceof CognitoIdentityProviderServiceException &&
135
+ AllServiceErrors.includes(e.name)) {
136
+ const ServiceException = Data.tagged(e.name);
137
+ return ServiceException({
138
+ ...e,
139
+ message: e.message,
140
+ stack: e.stack,
141
+ });
142
+ }
143
+ if (e instanceof Error) {
144
+ return SdkError({
145
+ ...e,
146
+ name: "SdkError",
147
+ message: e.message,
148
+ stack: e.stack,
149
+ });
150
+ }
151
+ throw e;
152
+ },
153
+ });
154
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
155
+ return { ...acc, [methodName]: methodImpl };
156
+ }, {});
157
+ });
158
+ /**
159
+ * @since 1.0.0
160
+ * @category layers
161
+ */
162
+ export const BaseCognitoIdentityProviderServiceLayer = Layer.effect(CognitoIdentityProviderService, makeCognitoIdentityProviderService);
163
+ /**
164
+ * @since 1.0.0
165
+ * @category layers
166
+ */
167
+ export const CognitoIdentityProviderServiceLayer = BaseCognitoIdentityProviderServiceLayer.pipe(Layer.provide(CognitoIdentityProviderClientInstanceLayer));
168
+ /**
169
+ * @since 1.0.0
170
+ * @category layers
171
+ */
172
+ export const DefaultCognitoIdentityProviderServiceLayer = CognitoIdentityProviderServiceLayer.pipe(Layer.provide(DefaultCognitoIdentityProviderClientConfigLayer));
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBRzFCLDBCQUEwQixFQUcxQix5QkFBeUIsRUFHekIsc0JBQXNCLEVBR3RCLHNCQUFzQixFQUd0QixnQ0FBZ0MsRUFHaEMsa0NBQWtDLEVBR2xDLHVCQUF1QixFQUd2QixzQkFBc0IsRUFHdEIsd0JBQXdCLEVBR3hCLHFCQUFxQixFQUdyQixtQkFBbUIsRUFHbkIsd0JBQXdCLEVBR3hCLCtCQUErQixFQUcvQix1QkFBdUIsRUFHdkIsNkJBQTZCLEVBRzdCLDhCQUE4QixFQUc5QiwrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLGtDQUFrQyxFQUdsQyxnQ0FBZ0MsRUFHaEMsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQixtQ0FBbUMsRUFHbkMsOEJBQThCLEVBRzlCLGdDQUFnQyxFQUdoQyw2QkFBNkIsRUFHN0IsNkJBQTZCLEVBRzdCLHFCQUFxQixFQUdyQixvQkFBb0IsRUFHcEIsNEJBQTRCLEVBRzVCLG9CQUFvQixFQUdwQixrQkFBa0IsRUFHbEIsNkJBQTZCLEVBRzdCLDJCQUEyQixFQUczQiwwQkFBMEIsRUFHMUIscUJBQXFCLEVBR3JCLDJCQUEyQixFQUczQiwyQkFBMkIsRUFHM0Isa0JBQWtCLEVBR2xCLDZCQUE2QixFQUc3QiwyQkFBMkIsRUFHM0IsaUJBQWlCLEVBR2pCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQiwrQkFBK0IsRUFHL0IsNkJBQTZCLEVBRzdCLGdDQUFnQyxFQUdoQyw0QkFBNEIsRUFHNUIsdUJBQXVCLEVBR3ZCLDZCQUE2QixFQUc3Qiw2QkFBNkIsRUFHN0IsbUJBQW1CLEVBR25CLHFCQUFxQixFQUdyQixtQkFBbUIsRUFHbkIsZ0JBQWdCLEVBR2hCLGVBQWUsRUFHZixzQ0FBc0MsRUFHdEMsa0NBQWtDLEVBR2xDLDRCQUE0QixFQUc1Qix5QkFBeUIsRUFHekIsY0FBYyxFQUdkLHVDQUF1QyxFQUd2QywyQkFBMkIsRUFHM0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQixrQkFBa0IsRUFHbEIsaUJBQWlCLEVBR2pCLDRCQUE0QixFQUc1QiwwQkFBMEIsRUFHMUIsMEJBQTBCLEVBRzFCLHlCQUF5QixFQUd6QiwwQkFBMEIsRUFHMUIsb0JBQW9CLEVBR3BCLGdCQUFnQixFQUdoQix1QkFBdUIsRUFHdkIsNkJBQTZCLEVBRzdCLDZCQUE2QixFQUc3QixrQkFBa0IsRUFHbEIsa0NBQWtDLEVBR2xDLDJCQUEyQixFQUczQix5QkFBeUIsRUFHekIsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQixzQkFBc0IsRUFHdEIsYUFBYSxFQUdiLHlCQUF5QixFQUd6Qix3QkFBd0IsRUFHeEIsa0JBQWtCLEVBR2xCLG9CQUFvQixFQUdwQiw4QkFBOEIsRUFHOUIseUJBQXlCLEVBR3pCLGtCQUFrQixFQUdsQiw2QkFBNkIsRUFHN0IsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQixxQkFBcUIsRUFHckIsMkJBQTJCLEVBRzNCLDJCQUEyQixFQUczQiwwQkFBMEIsRUFHMUIsMEJBQTBCLEdBRzNCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLDBDQUEwQyxHQUMzQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hILE9BQU8sRUFDTCxnQkFBZ0IsRUEyQ2hCLFFBQVEsR0FFVCxNQUFNLFVBQVUsQ0FBQztBQVVsQixNQUFNLFFBQVEsR0FBRztJQUNmLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsZ0NBQWdDO0lBQ2hDLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsbUNBQW1DO0lBQ25DLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLDRCQUE0QjtJQUM1QixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLGtCQUFrQjtJQUNsQiw2QkFBNkI7SUFDN0IsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysc0NBQXNDO0lBQ3RDLGtDQUFrQztJQUNsQyw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCx1Q0FBdUM7SUFDdkMsMkJBQTJCO0lBQzNCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLGtDQUFrQztJQUNsQywyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYix5QkFBeUI7SUFDekIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtDQUMzQixDQUFDO0FBMDZERjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsTUFBTSxDQUFDLEdBQUcsQ0FDNUQsNkVBQTZFLENBQzlFLEVBQW1FO0NBQUc7QUFFdkU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBRS9ELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQVEsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FDN0QsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksRUFBRSxDQUFDO2dCQUNsQixXQUFXO2FBQ1osQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQ0UsQ0FBQyxZQUFZLHVDQUF1QztvQkFDcEQsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDakMsQ0FBQztvQkFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBRWxDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFVixPQUFPLGdCQUFnQixDQUFDO3dCQUN0QixHQUFHLENBQUM7d0JBQ0osT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sUUFBUSxDQUFDO3dCQUNkLEdBQUcsQ0FBQzt3QkFDSixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ2YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDdEUsVUFBVSxFQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQyxFQUFFLEVBQUUsQ0FBb0MsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2pFLDhCQUE4QixFQUM5QixrQ0FBa0MsQ0FDbkMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUM5Qyx1Q0FBdUMsQ0FBQyxJQUFJLENBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FDMUQsQ0FBQztBQUVKOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUNyRCxtQ0FBbUMsQ0FBQyxJQUFJLENBQ3RDLEtBQUssQ0FBQyxPQUFPLENBQUMsK0NBQStDLENBQUMsQ0FDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZUV4Y2VwdGlvbixcbiAgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZGRDdXN0b21BdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5BZGRVc2VyVG9Hcm91cENvbW1hbmQsXG4gIHR5cGUgQWRtaW5BZGRVc2VyVG9Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Db25maXJtU2lnblVwQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5Db25maXJtU2lnblVwQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5DcmVhdGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkNyZWF0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5DcmVhdGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EZWxldGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkRlbGV0ZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5EZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5EZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkRpc2FibGVQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5EaXNhYmxlVXNlckNvbW1hbmQsXG4gIHR5cGUgQWRtaW5EaXNhYmxlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkRpc2FibGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5FbmFibGVVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkVuYWJsZVVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5FbmFibGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Gb3JnZXREZXZpY2VDb21tYW5kLFxuICB0eXBlIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5HZXREZXZpY2VDb21tYW5kLFxuICB0eXBlIEFkbWluR2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluR2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5HZXRVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkdldFVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5HZXRVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Jbml0aWF0ZUF1dGhDb21tYW5kLFxuICB0eXBlIEFkbWluSW5pdGlhdGVBdXRoQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluSW5pdGlhdGVBdXRoQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaW5rUHJvdmlkZXJGb3JVc2VyQ29tbWFuZCxcbiAgdHlwZSBBZG1pbkxpbmtQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5MaW5rUHJvdmlkZXJGb3JVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaXN0RGV2aWNlc0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5MaXN0RGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkxpc3REZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaXN0R3JvdXBzRm9yVXNlckNvbW1hbmQsXG4gIHR5cGUgQWRtaW5MaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pbkxpc3RHcm91cHNGb3JVc2VyQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5MaXN0VXNlckF1dGhFdmVudHNDb21tYW5kLFxuICB0eXBlIEFkbWluTGlzdFVzZXJBdXRoRXZlbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluTGlzdFVzZXJBdXRoRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5SZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZCxcbiAgdHlwZSBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5SZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5SZXNldFVzZXJQYXNzd29yZENvbW1hbmQsXG4gIHR5cGUgQWRtaW5SZXNldFVzZXJQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblJlc2V0VXNlclBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZCxcbiAgdHlwZSBBZG1pblJlc3BvbmRUb0F1dGhDaGFsbGVuZ2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgQWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmQsXG4gIHR5cGUgQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5TZXRVc2VyUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5TZXRVc2VyU2V0dGluZ3NDb21tYW5kLFxuICB0eXBlIEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5VcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kLFxuICB0eXBlIEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZElucHV0LFxuICB0eXBlIEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmQsXG4gIHR5cGUgQWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmQsXG4gIHR5cGUgQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgdHlwZSBBZG1pblVzZXJHbG9iYWxTaWduT3V0Q29tbWFuZE91dHB1dCxcbiAgQXNzb2NpYXRlU29mdHdhcmVUb2tlbkNvbW1hbmQsXG4gIHR5cGUgQXNzb2NpYXRlU29mdHdhcmVUb2tlbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBBc3NvY2lhdGVTb2Z0d2FyZVRva2VuQ29tbWFuZE91dHB1dCxcbiAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIENoYW5nZVBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQ29uZmlybURldmljZUNvbW1hbmQsXG4gIHR5cGUgQ29uZmlybURldmljZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb25maXJtRGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgQ29uZmlybUZvcmdvdFBhc3N3b3JkQ29tbWFuZCxcbiAgdHlwZSBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ29uZmlybUZvcmdvdFBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgQ29uZmlybVNpZ25VcENvbW1hbmQsXG4gIHR5cGUgQ29uZmlybVNpZ25VcENvbW1hbmRJbnB1dCxcbiAgdHlwZSBDb25maXJtU2lnblVwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlR3JvdXBDb21tYW5kLFxuICB0eXBlIENyZWF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICB0eXBlIENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlckltcG9ydEpvYkNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVXNlckltcG9ydEpvYkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlclBvb2xDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlclBvb2xDbGllbnRDb21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICB0eXBlIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICB0eXBlIERlbGV0ZUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICB0eXBlIERlbGV0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlclBvb2xDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlclBvb2xDbGllbnRDb21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgRGVsZXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICB0eXBlIERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSZXNvdXJjZVNlcnZlckNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSZXNvdXJjZVNlcnZlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyUG9vbENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyUG9vbENsaWVudENvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyUG9vbENsaWVudENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmQsXG4gIHR5cGUgRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgRm9yZ2V0RGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBGb3JnZXREZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgRm9yZ2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgRm9yZ290UGFzc3dvcmRDb21tYW5kLFxuICB0eXBlIEZvcmdvdFBhc3N3b3JkQ29tbWFuZElucHV0LFxuICB0eXBlIEZvcmdvdFBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgR2V0Q1NWSGVhZGVyQ29tbWFuZCxcbiAgdHlwZSBHZXRDU1ZIZWFkZXJDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q1NWSGVhZGVyQ29tbWFuZE91dHB1dCxcbiAgR2V0RGV2aWNlQ29tbWFuZCxcbiAgdHlwZSBHZXREZXZpY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgR2V0R3JvdXBDb21tYW5kLFxuICB0eXBlIEdldEdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEdyb3VwQ29tbWFuZE91dHB1dCxcbiAgR2V0SWRlbnRpdHlQcm92aWRlckJ5SWRlbnRpZmllckNvbW1hbmQsXG4gIHR5cGUgR2V0SWRlbnRpdHlQcm92aWRlckJ5SWRlbnRpZmllckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyQ29tbWFuZE91dHB1dCxcbiAgR2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZCxcbiAgdHlwZSBHZXRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZE91dHB1dCxcbiAgR2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0VXNlckNvbW1hbmQsXG4gIHR5cGUgR2V0VXNlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRVc2VyQ29tbWFuZE91dHB1dCxcbiAgR2V0VXNlckF0dHJpYnV0ZVZlcmlmaWNhdGlvbkNvZGVDb21tYW5kLFxuICB0eXBlIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZE91dHB1dCxcbiAgR2V0VXNlclBvb2xNZmFDb25maWdDb21tYW5kLFxuICB0eXBlIEdldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgR2xvYmFsU2lnbk91dENvbW1hbmQsXG4gIHR5cGUgR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHbG9iYWxTaWduT3V0Q29tbWFuZE91dHB1dCxcbiAgSW5pdGlhdGVBdXRoQ29tbWFuZCxcbiAgdHlwZSBJbml0aWF0ZUF1dGhDb21tYW5kSW5wdXQsXG4gIHR5cGUgSW5pdGlhdGVBdXRoQ29tbWFuZE91dHB1dCxcbiAgTGlzdERldmljZXNDb21tYW5kLFxuICB0eXBlIExpc3REZXZpY2VzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3REZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgTGlzdEdyb3Vwc0NvbW1hbmQsXG4gIHR5cGUgTGlzdEdyb3Vwc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgTGlzdElkZW50aXR5UHJvdmlkZXJzQ29tbWFuZCxcbiAgdHlwZSBMaXN0SWRlbnRpdHlQcm92aWRlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdElkZW50aXR5UHJvdmlkZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0UmVzb3VyY2VTZXJ2ZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VXNlckltcG9ydEpvYnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJQb29sQ2xpZW50c0NvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJQb29sQ2xpZW50c0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlclBvb2xDbGllbnRzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJQb29sc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJQb29sc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlclBvb2xzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VXNlcnNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFVzZXJzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFVzZXJzSW5Hcm91cENvbW1hbmQsXG4gIHR5cGUgTGlzdFVzZXJzSW5Hcm91cENvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0VXNlcnNJbkdyb3VwQ29tbWFuZE91dHB1dCxcbiAgUmVzZW5kQ29uZmlybWF0aW9uQ29kZUNvbW1hbmQsXG4gIHR5cGUgUmVzZW5kQ29uZmlybWF0aW9uQ29kZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNlbmRDb25maXJtYXRpb25Db2RlQ29tbWFuZE91dHB1dCxcbiAgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmQsXG4gIHR5cGUgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBSZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZE91dHB1dCxcbiAgUmV2b2tlVG9rZW5Db21tYW5kLFxuICB0eXBlIFJldm9rZVRva2VuQ29tbWFuZElucHV0LFxuICB0eXBlIFJldm9rZVRva2VuQ29tbWFuZE91dHB1dCxcbiAgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgdHlwZSBTZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2V0Umlza0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICB0eXBlIFNldFJpc2tDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZCxcbiAgdHlwZSBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU2V0VXNlck1GQVByZWZlcmVuY2VDb21tYW5kLFxuICB0eXBlIFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZE91dHB1dCxcbiAgU2V0VXNlclBvb2xNZmFDb25maWdDb21tYW5kLFxuICB0eXBlIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZElucHV0LFxuICB0eXBlIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgU2V0VXNlclNldHRpbmdzQ29tbWFuZCxcbiAgdHlwZSBTZXRVc2VyU2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2V0VXNlclNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgU2lnblVwQ29tbWFuZCxcbiAgdHlwZSBTaWduVXBDb21tYW5kSW5wdXQsXG4gIHR5cGUgU2lnblVwQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgdHlwZSBTdGFydFVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gIHR5cGUgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kLFxuICB0eXBlIFN0b3BVc2VySW1wb3J0Sm9iQ29tbWFuZElucHV0LFxuICB0eXBlIFN0b3BVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlR3JvdXBDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUdyb3VwQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlclBvb2xDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlclBvb2xDbGllbnRDb21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgVmVyaWZ5U29mdHdhcmVUb2tlbkNvbW1hbmQsXG4gIHR5cGUgVmVyaWZ5U29mdHdhcmVUb2tlbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlTb2Z0d2FyZVRva2VuQ29tbWFuZE91dHB1dCxcbiAgVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmQsXG4gIHR5cGUgVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBWZXJpZnlVc2VyQXR0cmlidXRlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2duaXRvLWlkZW50aXR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBDb2duaXRvSWRlbnRpdHlQcm92aWRlckNsaWVudEluc3RhbmNlLFxuICBDb2duaXRvSWRlbnRpdHlQcm92aWRlckNsaWVudEluc3RhbmNlTGF5ZXIsXG59IGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2VcIjtcbmltcG9ydCB7IERlZmF1bHRDb2duaXRvSWRlbnRpdHlQcm92aWRlckNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuaW1wb3J0IHtcbiAgQWxsU2VydmljZUVycm9ycyxcbiAgQWxpYXNFeGlzdHNFcnJvcixcbiAgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yLFxuICBDb2RlTWlzbWF0Y2hFcnJvcixcbiAgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yLFxuICBEdXBsaWNhdGVQcm92aWRlckVycm9yLFxuICBFbmFibGVTb2Z0d2FyZVRva2VuTUZBRXJyb3IsXG4gIEV4cGlyZWRDb2RlRXJyb3IsXG4gIEZvcmJpZGRlbkVycm9yLFxuICBHcm91cEV4aXN0c0Vycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3IsXG4gIEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yLFxuICBJbnZhbGlkT0F1dGhGbG93RXJyb3IsXG4gIEludmFsaWRQYXJhbWV0ZXJFcnJvcixcbiAgSW52YWxpZFBhc3N3b3JkRXJyb3IsXG4gIEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3IsXG4gIEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvcixcbiAgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIE1GQU1ldGhvZE5vdEZvdW5kRXJyb3IsXG4gIE5vdEF1dGhvcml6ZWRFcnJvcixcbiAgUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXJyb3IsXG4gIFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFcnJvcixcbiAgUmVzb3VyY2VOb3RGb3VuZEVycm9yLFxuICBTY29wZURvZXNOb3RFeGlzdEVycm9yLFxuICBTb2Z0d2FyZVRva2VuTUZBTm90Rm91bmRFcnJvcixcbiAgVG9vTWFueUZhaWxlZEF0dGVtcHRzRXJyb3IsXG4gIFRvb01hbnlSZXF1ZXN0c0Vycm9yLFxuICBVbmF1dGhvcml6ZWRFcnJvcixcbiAgVW5leHBlY3RlZExhbWJkYUVycm9yLFxuICBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvcixcbiAgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcixcbiAgVW5zdXBwb3J0ZWRUb2tlblR5cGVFcnJvcixcbiAgVW5zdXBwb3J0ZWRVc2VyU3RhdGVFcnJvcixcbiAgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvcixcbiAgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvcixcbiAgVXNlck5vdENvbmZpcm1lZEVycm9yLFxuICBVc2VyTm90Rm91bmRFcnJvcixcbiAgVXNlclBvb2xBZGRPbk5vdEVuYWJsZWRFcnJvcixcbiAgVXNlclBvb2xUYWdnaW5nRXJyb3IsXG4gIFVzZXJuYW1lRXhpc3RzRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuXG5pbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmQsXG4gIEFkbWluQWRkVXNlclRvR3JvdXBDb21tYW5kLFxuICBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kLFxuICBBZG1pbkNyZWF0ZVVzZXJDb21tYW5kLFxuICBBZG1pbkRlbGV0ZVVzZXJDb21tYW5kLFxuICBBZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZCxcbiAgQWRtaW5EaXNhYmxlVXNlckNvbW1hbmQsXG4gIEFkbWluRW5hYmxlVXNlckNvbW1hbmQsXG4gIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZCxcbiAgQWRtaW5HZXREZXZpY2VDb21tYW5kLFxuICBBZG1pbkdldFVzZXJDb21tYW5kLFxuICBBZG1pbkluaXRpYXRlQXV0aENvbW1hbmQsXG4gIEFkbWluTGlua1Byb3ZpZGVyRm9yVXNlckNvbW1hbmQsXG4gIEFkbWluTGlzdERldmljZXNDb21tYW5kLFxuICBBZG1pbkxpc3RHcm91cHNGb3JVc2VyQ29tbWFuZCxcbiAgQWRtaW5MaXN0VXNlckF1dGhFdmVudHNDb21tYW5kLFxuICBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kLFxuICBBZG1pblJlc2V0VXNlclBhc3N3b3JkQ29tbWFuZCxcbiAgQWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZCxcbiAgQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmQsXG4gIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZCxcbiAgQWRtaW5TZXRVc2VyU2V0dGluZ3NDb21tYW5kLFxuICBBZG1pblVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZCxcbiAgQWRtaW5VcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kLFxuICBBZG1pblVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZCxcbiAgQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmQsXG4gIEFzc29jaWF0ZVNvZnR3YXJlVG9rZW5Db21tYW5kLFxuICBDaGFuZ2VQYXNzd29yZENvbW1hbmQsXG4gIENvbmZpcm1EZXZpY2VDb21tYW5kLFxuICBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kLFxuICBDb25maXJtU2lnblVwQ29tbWFuZCxcbiAgQ3JlYXRlR3JvdXBDb21tYW5kLFxuICBDcmVhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZCxcbiAgQ3JlYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICBDcmVhdGVVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgQ3JlYXRlVXNlclBvb2xDb21tYW5kLFxuICBDcmVhdGVVc2VyUG9vbENsaWVudENvbW1hbmQsXG4gIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZCxcbiAgRGVsZXRlR3JvdXBDb21tYW5kLFxuICBEZWxldGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZCxcbiAgRGVsZXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kLFxuICBEZWxldGVVc2VyQ29tbWFuZCxcbiAgRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICBEZWxldGVVc2VyUG9vbENvbW1hbmQsXG4gIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZCxcbiAgRGVsZXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kLFxuICBEZXNjcmliZVJlc291cmNlU2VydmVyQ29tbWFuZCxcbiAgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmQsXG4gIERlc2NyaWJlVXNlckltcG9ydEpvYkNvbW1hbmQsXG4gIERlc2NyaWJlVXNlclBvb2xDb21tYW5kLFxuICBEZXNjcmliZVVzZXJQb29sQ2xpZW50Q29tbWFuZCxcbiAgRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmQsXG4gIEZvcmdldERldmljZUNvbW1hbmQsXG4gIEZvcmdvdFBhc3N3b3JkQ29tbWFuZCxcbiAgR2V0Q1NWSGVhZGVyQ29tbWFuZCxcbiAgR2V0RGV2aWNlQ29tbWFuZCxcbiAgR2V0R3JvdXBDb21tYW5kLFxuICBHZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyQ29tbWFuZCxcbiAgR2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZCxcbiAgR2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZCxcbiAgR2V0VXNlckNvbW1hbmQsXG4gIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZCxcbiAgR2V0VXNlclBvb2xNZmFDb25maWdDb21tYW5kLFxuICBHbG9iYWxTaWduT3V0Q29tbWFuZCxcbiAgSW5pdGlhdGVBdXRoQ29tbWFuZCxcbiAgTGlzdERldmljZXNDb21tYW5kLFxuICBMaXN0R3JvdXBzQ29tbWFuZCxcbiAgTGlzdElkZW50aXR5UHJvdmlkZXJzQ29tbWFuZCxcbiAgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VXNlckltcG9ydEpvYnNDb21tYW5kLFxuICBMaXN0VXNlclBvb2xDbGllbnRzQ29tbWFuZCxcbiAgTGlzdFVzZXJQb29sc0NvbW1hbmQsXG4gIExpc3RVc2Vyc0NvbW1hbmQsXG4gIExpc3RVc2Vyc0luR3JvdXBDb21tYW5kLFxuICBSZXNlbmRDb25maXJtYXRpb25Db2RlQ29tbWFuZCxcbiAgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmQsXG4gIFJldm9rZVRva2VuQ29tbWFuZCxcbiAgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZCxcbiAgU2V0Umlza0NvbmZpZ3VyYXRpb25Db21tYW5kLFxuICBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kLFxuICBTZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmQsXG4gIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZCxcbiAgU2V0VXNlclNldHRpbmdzQ29tbWFuZCxcbiAgU2lnblVwQ29tbWFuZCxcbiAgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZCxcbiAgU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kLFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICBVcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmQsXG4gIFVwZGF0ZURldmljZVN0YXR1c0NvbW1hbmQsXG4gIFVwZGF0ZUdyb3VwQ29tbWFuZCxcbiAgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmQsXG4gIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZCxcbiAgVXBkYXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kLFxuICBVcGRhdGVVc2VyUG9vbENvbW1hbmQsXG4gIFVwZGF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZCxcbiAgVXBkYXRlVXNlclBvb2xEb21haW5Db21tYW5kLFxuICBWZXJpZnlTb2Z0d2FyZVRva2VuQ29tbWFuZCxcbiAgVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkZEN1c3RvbUF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgYWRkQ3VzdG9tQXR0cmlidXRlcyhcbiAgICBhcmdzOiBBZGRDdXN0b21BdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRkQ3VzdG9tQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJJbXBvcnRJblByb2dyZXNzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5BZGRVc2VyVG9Hcm91cENvbW1hbmR9XG4gICAqL1xuICBhZG1pbkFkZFVzZXJUb0dyb3VwKFxuICAgIGFyZ3M6IEFkbWluQWRkVXNlclRvR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkFkZFVzZXJUb0dyb3VwQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5Db25maXJtU2lnblVwQ29tbWFuZH1cbiAgICovXG4gIGFkbWluQ29uZmlybVNpZ25VcChcbiAgICBhcmdzOiBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkNvbmZpcm1TaWduVXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlGYWlsZWRBdHRlbXB0c0Vycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkNyZWF0ZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5DcmVhdGVVc2VyKFxuICAgIGFyZ3M6IEFkbWluQ3JlYXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluQ3JlYXRlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUGFzc3dvcmRFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVuc3VwcG9ydGVkVXNlclN0YXRlRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJuYW1lRXhpc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluRGVsZXRlVXNlckNvbW1hbmR9XG4gICAqL1xuICBhZG1pbkRlbGV0ZVVzZXIoXG4gICAgYXJnczogQWRtaW5EZWxldGVVc2VyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5EZWxldGVVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5EZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICBhZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzKFxuICAgIGFyZ3M6IEFkbWluRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkRlbGV0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5EaXNhYmxlUHJvdmlkZXJGb3JVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluRGlzYWJsZVByb3ZpZGVyRm9yVXNlcihcbiAgICBhcmdzOiBBZG1pbkRpc2FibGVQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkRpc2FibGVQcm92aWRlckZvclVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkRpc2FibGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluRGlzYWJsZVVzZXIoXG4gICAgYXJnczogQWRtaW5EaXNhYmxlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluRGlzYWJsZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkVuYWJsZVVzZXJDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5FbmFibGVVc2VyKFxuICAgIGFyZ3M6IEFkbWluRW5hYmxlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluRW5hYmxlVXNlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGFkbWluRm9yZ2V0RGV2aWNlKFxuICAgIGFyZ3M6IEFkbWluRm9yZ2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5Gb3JnZXREZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluR2V0RGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGFkbWluR2V0RGV2aWNlKFxuICAgIGFyZ3M6IEFkbWluR2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5HZXREZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5HZXRVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluR2V0VXNlcihcbiAgICBhcmdzOiBBZG1pbkdldFVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkdldFVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkluaXRpYXRlQXV0aENvbW1hbmR9XG4gICAqL1xuICBhZG1pbkluaXRpYXRlQXV0aChcbiAgICBhcmdzOiBBZG1pbkluaXRpYXRlQXV0aENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluSW5pdGlhdGVBdXRoQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBNRkFNZXRob2ROb3RGb3VuZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5MaW5rUHJvdmlkZXJGb3JVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluTGlua1Byb3ZpZGVyRm9yVXNlcihcbiAgICBhcmdzOiBBZG1pbkxpbmtQcm92aWRlckZvclVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pbkxpbmtQcm92aWRlckZvclVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluTGlzdERldmljZXNDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5MaXN0RGV2aWNlcyhcbiAgICBhcmdzOiBBZG1pbkxpc3REZXZpY2VzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5MaXN0RGV2aWNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkxpc3RHcm91cHNGb3JVc2VyQ29tbWFuZH1cbiAgICovXG4gIGFkbWluTGlzdEdyb3Vwc0ZvclVzZXIoXG4gICAgYXJnczogQWRtaW5MaXN0R3JvdXBzRm9yVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluTGlzdEdyb3Vwc0ZvclVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pbkxpc3RVc2VyQXV0aEV2ZW50c0NvbW1hbmR9XG4gICAqL1xuICBhZG1pbkxpc3RVc2VyQXV0aEV2ZW50cyhcbiAgICBhcmdzOiBBZG1pbkxpc3RVc2VyQXV0aEV2ZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluTGlzdFVzZXJBdXRoRXZlbnRzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgICB8IFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQWRtaW5SZW1vdmVVc2VyRnJvbUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGFkbWluUmVtb3ZlVXNlckZyb21Hcm91cChcbiAgICBhcmdzOiBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblJlc2V0VXNlclBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGFkbWluUmVzZXRVc2VyUGFzc3dvcmQoXG4gICAgYXJnczogQWRtaW5SZXNldFVzZXJQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluUmVzZXRVc2VyUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblJlc3BvbmRUb0F1dGhDaGFsbGVuZ2VDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5SZXNwb25kVG9BdXRoQ2hhbGxlbmdlKFxuICAgIGFyZ3M6IEFkbWluUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxpYXNFeGlzdHNFcnJvclxuICAgIHwgQ29kZU1pc21hdGNoRXJyb3JcbiAgICB8IEV4cGlyZWRDb2RlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFBhc3N3b3JkRXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBNRkFNZXRob2ROb3RGb3VuZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkSGlzdG9yeVBvbGljeVZpb2xhdGlvbkVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTb2Z0d2FyZVRva2VuTUZBTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZH1cbiAgICovXG4gIGFkbWluU2V0VXNlck1GQVByZWZlcmVuY2UoXG4gICAgYXJnczogQWRtaW5TZXRVc2VyTUZBUHJlZmVyZW5jZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluU2V0VXNlck1GQVByZWZlcmVuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBVc2VyTm90Q29uZmlybWVkRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGFkbWluU2V0VXNlclBhc3N3b3JkKFxuICAgIGFyZ3M6IEFkbWluU2V0VXNlclBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5TZXRVc2VyUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFBhc3N3b3JkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZH1cbiAgICovXG4gIGFkbWluU2V0VXNlclNldHRpbmdzKFxuICAgIGFyZ3M6IEFkbWluU2V0VXNlclNldHRpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5TZXRVc2VyU2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFjayhcbiAgICBhcmdzOiBBZG1pblVwZGF0ZUF1dGhFdmVudEZlZWRiYWNrQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5VcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gICAgfCBVc2VyUG9vbEFkZE9uTm90RW5hYmxlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGFkbWluVXBkYXRlRGV2aWNlU3RhdHVzKFxuICAgIGFyZ3M6IEFkbWluVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5VcGRhdGVEZXZpY2VTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFkbWluVXBkYXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgYWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlcyhcbiAgICBhcmdzOiBBZG1pblVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxpYXNFeGlzdHNFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBZG1pblVzZXJHbG9iYWxTaWduT3V0Q29tbWFuZH1cbiAgICovXG4gIGFkbWluVXNlckdsb2JhbFNpZ25PdXQoXG4gICAgYXJnczogQWRtaW5Vc2VyR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFkbWluVXNlckdsb2JhbFNpZ25PdXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBBc3NvY2lhdGVTb2Z0d2FyZVRva2VuQ29tbWFuZH1cbiAgICovXG4gIGFzc29jaWF0ZVNvZnR3YXJlVG9rZW4oXG4gICAgYXJnczogQXNzb2NpYXRlU29mdHdhcmVUb2tlbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEFzc29jaWF0ZVNvZnR3YXJlVG9rZW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmN1cnJlbnRNb2RpZmljYXRpb25FcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENoYW5nZVBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKFxuICAgIGFyZ3M6IENoYW5nZVBhc3N3b3JkQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ2hhbmdlUGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRQYXNzd29yZEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Q29uZmlybWVkRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENvbmZpcm1EZXZpY2VDb21tYW5kfVxuICAgKi9cbiAgY29uZmlybURldmljZShcbiAgICBhcmdzOiBDb25maXJtRGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ29uZmlybURldmljZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRQYXNzd29yZEVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJuYW1lRXhpc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ29uZmlybUZvcmdvdFBhc3N3b3JkQ29tbWFuZH1cbiAgICovXG4gIGNvbmZpcm1Gb3Jnb3RQYXNzd29yZChcbiAgICBhcmdzOiBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDb25maXJtRm9yZ290UGFzc3dvcmRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFBhc3N3b3JkRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55RmFpbGVkQXR0ZW1wdHNFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDb25maXJtU2lnblVwQ29tbWFuZH1cbiAgICovXG4gIGNvbmZpcm1TaWduVXAoXG4gICAgYXJnczogQ29uZmlybVNpZ25VcENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENvbmZpcm1TaWduVXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueUZhaWxlZEF0dGVtcHRzRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUdyb3VwKFxuICAgIGFyZ3M6IENyZWF0ZUdyb3VwQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEdyb3VwRXhpc3RzRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVJZGVudGl0eVByb3ZpZGVyKFxuICAgIGFyZ3M6IENyZWF0ZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBEdXBsaWNhdGVQcm92aWRlckVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVJlc291cmNlU2VydmVyKFxuICAgIGFyZ3M6IENyZWF0ZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlVXNlckltcG9ydEpvYkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VySW1wb3J0Sm9iKFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQcmVjb25kaXRpb25Ob3RNZXRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VyUG9vbChcbiAgICBhcmdzOiBDcmVhdGVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJQb29sVGFnZ2luZ0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVVzZXJQb29sQ2xpZW50KFxuICAgIGFyZ3M6IENyZWF0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVXNlclBvb2xDbGllbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRPQXV0aEZsb3dFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTY29wZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVVc2VyUG9vbERvbWFpbkNvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVVc2VyUG9vbERvbWFpbihcbiAgICBhcmdzOiBDcmVhdGVVc2VyUG9vbERvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlR3JvdXAoXG4gICAgYXJnczogRGVsZXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVJZGVudGl0eVByb3ZpZGVyKFxuICAgIGFyZ3M6IERlbGV0ZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVSZXNvdXJjZVNlcnZlckNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVSZXNvdXJjZVNlcnZlcihcbiAgICBhcmdzOiBEZWxldGVSZXNvdXJjZVNlcnZlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXIoXG4gICAgYXJnczogRGVsZXRlVXNlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVXNlckF0dHJpYnV0ZXMoXG4gICAgYXJnczogRGVsZXRlVXNlckF0dHJpYnV0ZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVVc2VyQXR0cmlidXRlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUG9vbChcbiAgICBhcmdzOiBEZWxldGVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVVc2VyUG9vbENsaWVudENvbW1hbmR9XG4gICAqL1xuICBkZWxldGVVc2VyUG9vbENsaWVudChcbiAgICBhcmdzOiBEZWxldGVVc2VyUG9vbENsaWVudENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVVzZXJQb29sRG9tYWluKFxuICAgIGFyZ3M6IERlbGV0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlVXNlclBvb2xEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlSWRlbnRpdHlQcm92aWRlcihcbiAgICBhcmdzOiBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlUmVzb3VyY2VTZXJ2ZXJDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVSZXNvdXJjZVNlcnZlcihcbiAgICBhcmdzOiBEZXNjcmliZVJlc291cmNlU2VydmVyQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVSZXNvdXJjZVNlcnZlckNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVJpc2tDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlUmlza0NvbmZpZ3VyYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlclBvb2xBZGRPbk5vdEVuYWJsZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJJbXBvcnRKb2JDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVVc2VySW1wb3J0Sm9iKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlckltcG9ydEpvYkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXNlckltcG9ydEpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVVzZXJQb29sKFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlclBvb2xDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlclBvb2xUYWdnaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVVc2VyUG9vbENsaWVudENvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVVzZXJQb29sQ2xpZW50KFxuICAgIGFyZ3M6IERlc2NyaWJlVXNlclBvb2xDbGllbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVVzZXJQb29sQ2xpZW50Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVVzZXJQb29sRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlVXNlclBvb2xEb21haW4oXG4gICAgYXJnczogRGVzY3JpYmVVc2VyUG9vbERvbWFpbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlVXNlclBvb2xEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRm9yZ2V0RGV2aWNlQ29tbWFuZH1cbiAgICovXG4gIGZvcmdldERldmljZShcbiAgICBhcmdzOiBGb3JnZXREZXZpY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBGb3JnZXREZXZpY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZFJlc2V0UmVxdWlyZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBGb3Jnb3RQYXNzd29yZENvbW1hbmR9XG4gICAqL1xuICBmb3Jnb3RQYXNzd29yZChcbiAgICBhcmdzOiBGb3Jnb3RQYXNzd29yZENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEZvcmdvdFBhc3N3b3JkQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFcnJvclxuICAgIHwgTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Q1NWSGVhZGVyQ29tbWFuZH1cbiAgICovXG4gIGdldENTVkhlYWRlcihcbiAgICBhcmdzOiBHZXRDU1ZIZWFkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRDU1ZIZWFkZXJDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldERldmljZUNvbW1hbmR9XG4gICAqL1xuICBnZXREZXZpY2UoXG4gICAgYXJnczogR2V0RGV2aWNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0RGV2aWNlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0R3JvdXBDb21tYW5kfVxuICAgKi9cbiAgZ2V0R3JvdXAoXG4gICAgYXJnczogR2V0R3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0SWRlbnRpdHlQcm92aWRlckJ5SWRlbnRpZmllckNvbW1hbmR9XG4gICAqL1xuICBnZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyKFxuICAgIGFyZ3M6IEdldElkZW50aXR5UHJvdmlkZXJCeUlkZW50aWZpZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRJZGVudGl0eVByb3ZpZGVyQnlJZGVudGlmaWVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uKFxuICAgIGFyZ3M6IEdldExvZ0RlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldExvZ0RlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0U2lnbmluZ0NlcnRpZmljYXRlQ29tbWFuZH1cbiAgICovXG4gIGdldFNpZ25pbmdDZXJ0aWZpY2F0ZShcbiAgICBhcmdzOiBHZXRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRTaWduaW5nQ2VydGlmaWNhdGVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxFcnJvciB8IEludmFsaWRQYXJhbWV0ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kfVxuICAgKi9cbiAgZ2V0VUlDdXN0b21pemF0aW9uKFxuICAgIGFyZ3M6IEdldFVJQ3VzdG9taXphdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVJQ3VzdG9taXphdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0VXNlckNvbW1hbmR9XG4gICAqL1xuICBnZXRVc2VyKFxuICAgIGFyZ3M6IEdldFVzZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRVc2VyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVc2VyTm90Q29uZmlybWVkRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZH1cbiAgICovXG4gIGdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlKFxuICAgIGFyZ3M6IEdldFVzZXJBdHRyaWJ1dGVWZXJpZmljYXRpb25Db2RlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0VXNlckF0dHJpYnV0ZVZlcmlmaWNhdGlvbkNvZGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvZGVEZWxpdmVyeUZhaWx1cmVFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBnZXRVc2VyUG9vbE1mYUNvbmZpZyhcbiAgICBhcmdzOiBHZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHbG9iYWxTaWduT3V0Q29tbWFuZH1cbiAgICovXG4gIGdsb2JhbFNpZ25PdXQoXG4gICAgYXJnczogR2xvYmFsU2lnbk91dENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdsb2JhbFNpZ25PdXRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJbml0aWF0ZUF1dGhDb21tYW5kfVxuICAgKi9cbiAgaW5pdGlhdGVBdXRoKFxuICAgIGFyZ3M6IEluaXRpYXRlQXV0aENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEluaXRpYXRlQXV0aENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZExhbWJkYVJlc3BvbnNlRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RGV2aWNlc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RGV2aWNlcyhcbiAgICBhcmdzOiBMaXN0RGV2aWNlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3REZXZpY2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEdyb3Vwc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0R3JvdXBzKFxuICAgIGFyZ3M6IExpc3RHcm91cHNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0R3JvdXBzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0SWRlbnRpdHlQcm92aWRlcnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdElkZW50aXR5UHJvdmlkZXJzKFxuICAgIGFyZ3M6IExpc3RJZGVudGl0eVByb3ZpZGVyc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RJZGVudGl0eVByb3ZpZGVyc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJlc291cmNlU2VydmVyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0UmVzb3VyY2VTZXJ2ZXJzKFxuICAgIGFyZ3M6IExpc3RSZXNvdXJjZVNlcnZlcnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UmVzb3VyY2VTZXJ2ZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIGxpc3RUYWdzRm9yUmVzb3VyY2UoXG4gICAgYXJnczogTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VySW1wb3J0Sm9ic0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlckltcG9ydEpvYnMoXG4gICAgYXJnczogTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJJbXBvcnRKb2JzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlclBvb2xDbGllbnRzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2VyUG9vbENsaWVudHMoXG4gICAgYXJnczogTGlzdFVzZXJQb29sQ2xpZW50c0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RVc2VyUG9vbENsaWVudHNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2VyUG9vbHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFVzZXJQb29scyhcbiAgICBhcmdzOiBMaXN0VXNlclBvb2xzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJQb29sc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RVc2Vyc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0VXNlcnMoXG4gICAgYXJnczogTGlzdFVzZXJzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFVzZXJzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0VXNlcnNJbkdyb3VwQ29tbWFuZH1cbiAgICovXG4gIGxpc3RVc2Vyc0luR3JvdXAoXG4gICAgYXJnczogTGlzdFVzZXJzSW5Hcm91cENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RVc2Vyc0luR3JvdXBDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc2VuZENvbmZpcm1hdGlvbkNvZGVDb21tYW5kfVxuICAgKi9cbiAgcmVzZW5kQ29uZmlybWF0aW9uQ29kZShcbiAgICBhcmdzOiBSZXNlbmRDb25maXJtYXRpb25Db2RlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzZW5kQ29uZmlybWF0aW9uQ29kZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IExpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlc3BvbmRUb0F1dGhDaGFsbGVuZ2VDb21tYW5kfVxuICAgKi9cbiAgcmVzcG9uZFRvQXV0aENoYWxsZW5nZShcbiAgICBhcmdzOiBSZXNwb25kVG9BdXRoQ2hhbGxlbmdlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVzcG9uZFRvQXV0aENoYWxsZW5nZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWxpYXNFeGlzdHNFcnJvclxuICAgIHwgQ29kZU1pc21hdGNoRXJyb3JcbiAgICB8IEV4cGlyZWRDb2RlRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3JcbiAgICB8IEludmFsaWRMYW1iZGFSZXNwb25zZUVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IEludmFsaWRQYXNzd29yZEVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IEludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgTUZBTWV0aG9kTm90Rm91bmRFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU29mdHdhcmVUb2tlbk1GQU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbmV4cGVjdGVkTGFtYmRhRXJyb3JcbiAgICB8IFVzZXJMYW1iZGFWYWxpZGF0aW9uRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUmV2b2tlVG9rZW5Db21tYW5kfVxuICAgKi9cbiAgcmV2b2tlVG9rZW4oXG4gICAgYXJnczogUmV2b2tlVG9rZW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZXZva2VUb2tlbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuYXV0aG9yaXplZEVycm9yXG4gICAgfCBVbnN1cHBvcnRlZE9wZXJhdGlvbkVycm9yXG4gICAgfCBVbnN1cHBvcnRlZFRva2VuVHlwZUVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldExvZ0RlbGl2ZXJ5Q29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzZXRMb2dEZWxpdmVyeUNvbmZpZ3VyYXRpb24oXG4gICAgYXJnczogU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2V0TG9nRGVsaXZlcnlDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmR9XG4gICAqL1xuICBzZXRSaXNrQ29uZmlndXJhdGlvbihcbiAgICBhcmdzOiBTZXRSaXNrQ29uZmlndXJhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFJpc2tDb25maWd1cmF0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0VUlDdXN0b21pemF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHNldFVJQ3VzdG9taXphdGlvbihcbiAgICBhcmdzOiBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRVSUN1c3RvbWl6YXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZH1cbiAgICovXG4gIHNldFVzZXJNRkFQcmVmZXJlbmNlKFxuICAgIGFyZ3M6IFNldFVzZXJNRkFQcmVmZXJlbmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2V0VXNlck1GQVByZWZlcmVuY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBzZXRVc2VyUG9vbE1mYUNvbmZpZyhcbiAgICBhcmdzOiBTZXRVc2VyUG9vbE1mYUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNldFVzZXJQb29sTWZhQ29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2V0VXNlclNldHRpbmdzQ29tbWFuZH1cbiAgICovXG4gIHNldFVzZXJTZXR0aW5ncyhcbiAgICBhcmdzOiBTZXRVc2VyU2V0dGluZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTZXRVc2VyU2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEZvcmJpZGRlbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTaWduVXBDb21tYW5kfVxuICAgKi9cbiAgc2lnblVwKFxuICAgIGFyZ3M6IFNpZ25VcENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNpZ25VcENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZURlbGl2ZXJ5RmFpbHVyZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkUGFzc3dvcmRFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVW5leHBlY3RlZExhbWJkYUVycm9yXG4gICAgfCBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yXG4gICAgfCBVc2VybmFtZUV4aXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0VXNlckltcG9ydEpvYkNvbW1hbmR9XG4gICAqL1xuICBzdGFydFVzZXJJbXBvcnRKb2IoXG4gICAgYXJnczogU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRVc2VySW1wb3J0Sm9iQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUHJlY29uZGl0aW9uTm90TWV0RXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kfVxuICAgKi9cbiAgc3RvcFVzZXJJbXBvcnRKb2IoXG4gICAgYXJnczogU3RvcFVzZXJJbXBvcnRKb2JDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdG9wVXNlckltcG9ydEpvYkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFByZWNvbmRpdGlvbk5vdE1ldEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlQXV0aEV2ZW50RmVlZGJhY2soXG4gICAgYXJnczogVXBkYXRlQXV0aEV2ZW50RmVlZGJhY2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBdXRoRXZlbnRGZWVkYmFja0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RGb3VuZEVycm9yXG4gICAgfCBVc2VyUG9vbEFkZE9uTm90RW5hYmxlZEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZURldmljZVN0YXR1c0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVEZXZpY2VTdGF0dXMoXG4gICAgYXJnczogVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlRGV2aWNlU3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkVXNlclBvb2xDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlR3JvdXBDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlR3JvdXAoXG4gICAgYXJnczogVXBkYXRlR3JvdXBDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVHcm91cENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlSWRlbnRpdHlQcm92aWRlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVJZGVudGl0eVByb3ZpZGVyKFxuICAgIGFyZ3M6IFVwZGF0ZUlkZW50aXR5UHJvdmlkZXJDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVJZGVudGl0eVByb3ZpZGVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gICAgfCBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVSZXNvdXJjZVNlcnZlckNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVSZXNvdXJjZVNlcnZlcihcbiAgICBhcmdzOiBVcGRhdGVSZXNvdXJjZVNlcnZlckNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVJlc291cmNlU2VydmVyQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkUGFyYW1ldGVyRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVVc2VyQXR0cmlidXRlcyhcbiAgICBhcmdzOiBVcGRhdGVVc2VyQXR0cmlidXRlc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVVzZXJBdHRyaWJ1dGVzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBbGlhc0V4aXN0c0Vycm9yXG4gICAgfCBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVuZXhwZWN0ZWRMYW1iZGFFcnJvclxuICAgIHwgVXNlckxhbWJkYVZhbGlkYXRpb25FcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVVc2VyUG9vbENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVVc2VyUG9vbChcbiAgICBhcmdzOiBVcGRhdGVVc2VyUG9vbENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVVzZXJQb29sQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUVycm9yXG4gICAgfCBJbnZhbGlkU21zUm9sZVRydXN0UmVsYXRpb25zaGlwRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvclxuICAgIHwgVXNlclBvb2xUYWdnaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlVXNlclBvb2xDbGllbnRDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlVXNlclBvb2xDbGllbnQoXG4gICAgYXJnczogVXBkYXRlVXNlclBvb2xDbGllbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVVc2VyUG9vbENsaWVudENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yXG4gICAgfCBJbnRlcm5hbEVycm9yXG4gICAgfCBJbnZhbGlkT0F1dGhGbG93RXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNjb3BlRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVVzZXJQb29sRG9tYWluKFxuICAgIGFyZ3M6IFVwZGF0ZVVzZXJQb29sRG9tYWluQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlVXNlclBvb2xEb21haW5Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgTm90QXV0aG9yaXplZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFZlcmlmeVNvZnR3YXJlVG9rZW5Db21tYW5kfVxuICAgKi9cbiAgdmVyaWZ5U29mdHdhcmVUb2tlbihcbiAgICBhcmdzOiBWZXJpZnlTb2Z0d2FyZVRva2VuQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVmVyaWZ5U29mdHdhcmVUb2tlbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29kZU1pc21hdGNoRXJyb3JcbiAgICB8IEVuYWJsZVNvZnR3YXJlVG9rZW5NRkFFcnJvclxuICAgIHwgRm9yYmlkZGVuRXJyb3JcbiAgICB8IEludGVybmFsRXJyb3JcbiAgICB8IEludmFsaWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBOb3RBdXRob3JpemVkRXJyb3JcbiAgICB8IFBhc3N3b3JkUmVzZXRSZXF1aXJlZEVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVXNlck5vdENvbmZpcm1lZEVycm9yXG4gICAgfCBVc2VyTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBWZXJpZnlVc2VyQXR0cmlidXRlQ29tbWFuZH1cbiAgICovXG4gIHZlcmlmeVVzZXJBdHRyaWJ1dGUoXG4gICAgYXJnczogVmVyaWZ5VXNlckF0dHJpYnV0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZlcmlmeVVzZXJBdHRyaWJ1dGVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFsaWFzRXhpc3RzRXJyb3JcbiAgICB8IENvZGVNaXNtYXRjaEVycm9yXG4gICAgfCBFeHBpcmVkQ29kZUVycm9yXG4gICAgfCBGb3JiaWRkZW5FcnJvclxuICAgIHwgSW50ZXJuYWxFcnJvclxuICAgIHwgSW52YWxpZFBhcmFtZXRlckVycm9yXG4gICAgfCBMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IE5vdEF1dGhvcml6ZWRFcnJvclxuICAgIHwgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFVzZXJOb3RDb25maXJtZWRFcnJvclxuICAgIHwgVXNlck5vdEZvdW5kRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWNvZ25pdG8taWRlbnRpdHktcHJvdmlkZXIvQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlXCIsXG4pPENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSwgQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlJD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUNvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKENvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VFeGNlcHRpb24gJiZcbiAgICAgICAgICAgIEFsbFNlcnZpY2VFcnJvcnMuaW5jbHVkZXMoZS5uYW1lKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgU2VydmljZUV4Y2VwdGlvbiA9IERhdGEudGFnZ2VkPFxuICAgICAgICAgICAgICBUYWdnZWRFeGNlcHRpb248Q29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSxcbiAgbWFrZUNvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VMYXllciA9XG4gIEJhc2VDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb2duaXRvSWRlbnRpdHlQcm92aWRlclNlcnZpY2VMYXllciA9XG4gIENvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZUxheWVyLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0Q29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { Data } from "effect";
2
+ export const AllServiceErrors = [
3
+ "AliasExistsException",
4
+ "CodeDeliveryFailureException",
5
+ "CodeMismatchException",
6
+ "ConcurrentModificationException",
7
+ "DuplicateProviderException",
8
+ "EnableSoftwareTokenMFAException",
9
+ "ExpiredCodeException",
10
+ "ForbiddenException",
11
+ "GroupExistsException",
12
+ "InternalErrorException",
13
+ "InvalidEmailRoleAccessPolicyException",
14
+ "InvalidLambdaResponseException",
15
+ "InvalidOAuthFlowException",
16
+ "InvalidParameterException",
17
+ "InvalidPasswordException",
18
+ "InvalidSmsRoleAccessPolicyException",
19
+ "InvalidSmsRoleTrustRelationshipException",
20
+ "InvalidUserPoolConfigurationException",
21
+ "LimitExceededException",
22
+ "MFAMethodNotFoundException",
23
+ "NotAuthorizedException",
24
+ "PasswordHistoryPolicyViolationException",
25
+ "PasswordResetRequiredException",
26
+ "PreconditionNotMetException",
27
+ "ResourceNotFoundException",
28
+ "ScopeDoesNotExistException",
29
+ "SoftwareTokenMFANotFoundException",
30
+ "TooManyFailedAttemptsException",
31
+ "TooManyRequestsException",
32
+ "UnauthorizedException",
33
+ "UnexpectedLambdaException",
34
+ "UnsupportedIdentityProviderException",
35
+ "UnsupportedOperationException",
36
+ "UnsupportedTokenTypeException",
37
+ "UnsupportedUserStateException",
38
+ "UserImportInProgressException",
39
+ "UserLambdaValidationException",
40
+ "UserNotConfirmedException",
41
+ "UserNotFoundException",
42
+ "UserPoolAddOnNotEnabledException",
43
+ "UserPoolTaggingException",
44
+ "UsernameExistsException",
45
+ ];
46
+ export const SdkError = Data.tagged("SdkError");
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0Q0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2QixpQ0FBaUM7SUFDakMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsdUNBQXVDO0lBQ3ZDLGdDQUFnQztJQUNoQywyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQixxQ0FBcUM7SUFDckMsMENBQTBDO0lBQzFDLHVDQUF1QztJQUN2Qyx3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qix5Q0FBeUM7SUFDekMsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLG1DQUFtQztJQUNuQyxnQ0FBZ0M7SUFDaEMsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0Isc0NBQXNDO0lBQ3RDLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixrQ0FBa0M7SUFDbEMsMEJBQTBCO0lBQzFCLHlCQUF5QjtDQUMxQixDQUFDO0FBeUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGlhc0V4aXN0c0V4Y2VwdGlvbixcbiAgQ29kZURlbGl2ZXJ5RmFpbHVyZUV4Y2VwdGlvbixcbiAgQ29kZU1pc21hdGNoRXhjZXB0aW9uLFxuICBDb25jdXJyZW50TW9kaWZpY2F0aW9uRXhjZXB0aW9uLFxuICBEdXBsaWNhdGVQcm92aWRlckV4Y2VwdGlvbixcbiAgRW5hYmxlU29mdHdhcmVUb2tlbk1GQUV4Y2VwdGlvbixcbiAgRXhwaXJlZENvZGVFeGNlcHRpb24sXG4gIEZvcmJpZGRlbkV4Y2VwdGlvbixcbiAgR3JvdXBFeGlzdHNFeGNlcHRpb24sXG4gIEludGVybmFsRXJyb3JFeGNlcHRpb24sXG4gIEludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFeGNlcHRpb24sXG4gIEludmFsaWRMYW1iZGFSZXNwb25zZUV4Y2VwdGlvbixcbiAgSW52YWxpZE9BdXRoRmxvd0V4Y2VwdGlvbixcbiAgSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvbixcbiAgSW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uLFxuICBJbnZhbGlkU21zUm9sZUFjY2Vzc1BvbGljeUV4Y2VwdGlvbixcbiAgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEV4Y2VwdGlvbixcbiAgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkV4Y2VwdGlvbixcbiAgTGltaXRFeGNlZWRlZEV4Y2VwdGlvbixcbiAgTUZBTWV0aG9kTm90Rm91bmRFeGNlcHRpb24sXG4gIE5vdEF1dGhvcml6ZWRFeGNlcHRpb24sXG4gIFBhc3N3b3JkSGlzdG9yeVBvbGljeVZpb2xhdGlvbkV4Y2VwdGlvbixcbiAgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXhjZXB0aW9uLFxuICBQcmVjb25kaXRpb25Ob3RNZXRFeGNlcHRpb24sXG4gIFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24sXG4gIFNjb3BlRG9lc05vdEV4aXN0RXhjZXB0aW9uLFxuICBTb2Z0d2FyZVRva2VuTUZBTm90Rm91bmRFeGNlcHRpb24sXG4gIFRvb01hbnlGYWlsZWRBdHRlbXB0c0V4Y2VwdGlvbixcbiAgVG9vTWFueVJlcXVlc3RzRXhjZXB0aW9uLFxuICBVbmF1dGhvcml6ZWRFeGNlcHRpb24sXG4gIFVuZXhwZWN0ZWRMYW1iZGFFeGNlcHRpb24sXG4gIFVuc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlckV4Y2VwdGlvbixcbiAgVW5zdXBwb3J0ZWRPcGVyYXRpb25FeGNlcHRpb24sXG4gIFVuc3VwcG9ydGVkVG9rZW5UeXBlRXhjZXB0aW9uLFxuICBVbnN1cHBvcnRlZFVzZXJTdGF0ZUV4Y2VwdGlvbixcbiAgVXNlckltcG9ydEluUHJvZ3Jlc3NFeGNlcHRpb24sXG4gIFVzZXJMYW1iZGFWYWxpZGF0aW9uRXhjZXB0aW9uLFxuICBVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uLFxuICBVc2VyTm90Rm91bmRFeGNlcHRpb24sXG4gIFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXhjZXB0aW9uLFxuICBVc2VyUG9vbFRhZ2dpbmdFeGNlcHRpb24sXG4gIFVzZXJuYW1lRXhpc3RzRXhjZXB0aW9uLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZ25pdG8taWRlbnRpdHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IERhdGEgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBbGxTZXJ2aWNlRXJyb3JzID0gW1xuICBcIkFsaWFzRXhpc3RzRXhjZXB0aW9uXCIsXG4gIFwiQ29kZURlbGl2ZXJ5RmFpbHVyZUV4Y2VwdGlvblwiLFxuICBcIkNvZGVNaXNtYXRjaEV4Y2VwdGlvblwiLFxuICBcIkNvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb25cIixcbiAgXCJEdXBsaWNhdGVQcm92aWRlckV4Y2VwdGlvblwiLFxuICBcIkVuYWJsZVNvZnR3YXJlVG9rZW5NRkFFeGNlcHRpb25cIixcbiAgXCJFeHBpcmVkQ29kZUV4Y2VwdGlvblwiLFxuICBcIkZvcmJpZGRlbkV4Y2VwdGlvblwiLFxuICBcIkdyb3VwRXhpc3RzRXhjZXB0aW9uXCIsXG4gIFwiSW50ZXJuYWxFcnJvckV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRFbWFpbFJvbGVBY2Nlc3NQb2xpY3lFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkTGFtYmRhUmVzcG9uc2VFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkT0F1dGhGbG93RXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFBhcmFtZXRlckV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRQYXNzd29yZEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FeGNlcHRpb25cIixcbiAgXCJMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uXCIsXG4gIFwiTUZBTWV0aG9kTm90Rm91bmRFeGNlcHRpb25cIixcbiAgXCJOb3RBdXRob3JpemVkRXhjZXB0aW9uXCIsXG4gIFwiUGFzc3dvcmRIaXN0b3J5UG9saWN5VmlvbGF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiUGFzc3dvcmRSZXNldFJlcXVpcmVkRXhjZXB0aW9uXCIsXG4gIFwiUHJlY29uZGl0aW9uTm90TWV0RXhjZXB0aW9uXCIsXG4gIFwiUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvblwiLFxuICBcIlNjb3BlRG9lc05vdEV4aXN0RXhjZXB0aW9uXCIsXG4gIFwiU29mdHdhcmVUb2tlbk1GQU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiVG9vTWFueUZhaWxlZEF0dGVtcHRzRXhjZXB0aW9uXCIsXG4gIFwiVG9vTWFueVJlcXVlc3RzRXhjZXB0aW9uXCIsXG4gIFwiVW5hdXRob3JpemVkRXhjZXB0aW9uXCIsXG4gIFwiVW5leHBlY3RlZExhbWJkYUV4Y2VwdGlvblwiLFxuICBcIlVuc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlckV4Y2VwdGlvblwiLFxuICBcIlVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiVW5zdXBwb3J0ZWRUb2tlblR5cGVFeGNlcHRpb25cIixcbiAgXCJVbnN1cHBvcnRlZFVzZXJTdGF0ZUV4Y2VwdGlvblwiLFxuICBcIlVzZXJJbXBvcnRJblByb2dyZXNzRXhjZXB0aW9uXCIsXG4gIFwiVXNlckxhbWJkYVZhbGlkYXRpb25FeGNlcHRpb25cIixcbiAgXCJVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uXCIsXG4gIFwiVXNlck5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiVXNlclBvb2xBZGRPbk5vdEVuYWJsZWRFeGNlcHRpb25cIixcbiAgXCJVc2VyUG9vbFRhZ2dpbmdFeGNlcHRpb25cIixcbiAgXCJVc2VybmFtZUV4aXN0c0V4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWxpYXNFeGlzdHNFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxBbGlhc0V4aXN0c0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb2RlRGVsaXZlcnlGYWlsdXJlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q29kZURlbGl2ZXJ5RmFpbHVyZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb2RlTWlzbWF0Y2hFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxDb2RlTWlzbWF0Y2hFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ29uY3VycmVudE1vZGlmaWNhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRHVwbGljYXRlUHJvdmlkZXJFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEdXBsaWNhdGVQcm92aWRlckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFbmFibGVTb2Z0d2FyZVRva2VuTUZBRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RW5hYmxlU29mdHdhcmVUb2tlbk1GQUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFeHBpcmVkQ29kZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEV4cGlyZWRDb2RlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEZvcmJpZGRlbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEZvcmJpZGRlbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBHcm91cEV4aXN0c0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEdyb3VwRXhpc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludGVybmFsRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW50ZXJuYWxFcnJvckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRW1haWxSb2xlQWNjZXNzUG9saWN5RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZEVtYWlsUm9sZUFjY2Vzc1BvbGljeUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkTGFtYmRhUmVzcG9uc2VFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkTGFtYmRhUmVzcG9uc2VFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZE9BdXRoRmxvd0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRPQXV0aEZsb3dFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhcmFtZXRlckVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRQYXJhbWV0ZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFBhc3N3b3JkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBhc3N3b3JkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRTbXNSb2xlQWNjZXNzUG9saWN5RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFNtc1JvbGVBY2Nlc3NQb2xpY3lFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNtc1JvbGVUcnVzdFJlbGF0aW9uc2hpcEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTbXNSb2xlVHJ1c3RSZWxhdGlvbnNoaXBFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFVzZXJQb29sQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRVc2VyUG9vbENvbmZpZ3VyYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPExpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgTUZBTWV0aG9kTm90Rm91bmRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxNRkFNZXRob2ROb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBOb3RBdXRob3JpemVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm90QXV0aG9yaXplZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxQYXNzd29yZEhpc3RvcnlQb2xpY3lWaW9sYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUGFzc3dvcmRSZXNldFJlcXVpcmVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UGFzc3dvcmRSZXNldFJlcXVpcmVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFByZWNvbmRpdGlvbk5vdE1ldEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFByZWNvbmRpdGlvbk5vdE1ldEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBTY29wZURvZXNOb3RFeGlzdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNjb3BlRG9lc05vdEV4aXN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNvZnR3YXJlVG9rZW5NRkFOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUb29NYW55RmFpbGVkQXR0ZW1wdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUb29NYW55RmFpbGVkQXR0ZW1wdHNFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVG9vTWFueVJlcXVlc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VG9vTWFueVJlcXVlc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVuYXV0aG9yaXplZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVuYXV0aG9yaXplZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbmV4cGVjdGVkTGFtYmRhRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VW5leHBlY3RlZExhbWJkYUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVbnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVbnN1cHBvcnRlZFRva2VuVHlwZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVuc3VwcG9ydGVkVG9rZW5UeXBlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVuc3VwcG9ydGVkVXNlclN0YXRlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VW5zdXBwb3J0ZWRVc2VyU3RhdGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgVXNlckltcG9ydEluUHJvZ3Jlc3NFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxVc2VySW1wb3J0SW5Qcm9ncmVzc0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVc2VyTGFtYmRhVmFsaWRhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVzZXJMYW1iZGFWYWxpZGF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJOb3RDb25maXJtZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxVc2VyTm90Q29uZmlybWVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJOb3RGb3VuZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVc2VyUG9vbEFkZE9uTm90RW5hYmxlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFVzZXJQb29sQWRkT25Ob3RFbmFibGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFVzZXJQb29sVGFnZ2luZ0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJQb29sVGFnZ2luZ0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBVc2VybmFtZUV4aXN0c0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFVzZXJuYW1lRXhpc3RzRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
@@ -0,0 +1,5 @@
1
+ export * from "./Errors";
2
+ export * from "./CognitoIdentityProviderClientInstance";
3
+ export * from "./CognitoIdentityProviderClientInstanceConfig";
4
+ export * from "./CognitoIdentityProviderService";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9FcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvZ25pdG9JZGVudGl0eVByb3ZpZGVyU2VydmljZVwiO1xuIl19
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./Errors";
2
+ export * from "./CognitoIdentityProviderClientInstance";
3
+ export * from "./CognitoIdentityProviderClientInstanceConfig";
4
+ export * from "./CognitoIdentityProviderService";
package/lib/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Errors"), exports);
18
+ __exportStar(require("./CognitoIdentityProviderClientInstance"), exports);
19
+ __exportStar(require("./CognitoIdentityProviderClientInstanceConfig"), exports);
20
+ __exportStar(require("./CognitoIdentityProviderService"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QiwwRUFBd0Q7QUFDeEQsZ0ZBQThEO0FBQzlELG1FQUFpRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlXCI7XG4iXX0=
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@effect-aws/client-cognito-identity-provider",
3
+ "author": {
4
+ "name": "Victor Korzunin",
5
+ "email": "ifloydrose@gmail.com",
6
+ "organization": false
7
+ },
8
+ "devDependencies": {
9
+ "@types/node": "^18",
10
+ "@typescript-eslint/eslint-plugin": "^7",
11
+ "@typescript-eslint/parser": "^7",
12
+ "aws-sdk-client-mock": "^4.0.2",
13
+ "aws-sdk-client-mock-vitest": "^4.0.0",
14
+ "effect": "3.0.0",
15
+ "eslint": "^8",
16
+ "eslint-config-prettier": "^9.1.0",
17
+ "eslint-import-resolver-typescript": "^3.6.1",
18
+ "eslint-plugin-import": "^2.29.1",
19
+ "eslint-plugin-prettier": "^5.2.1",
20
+ "prettier": "^3.2.5",
21
+ "typescript": "^5.4.2",
22
+ "vitest": "^2.0.5"
23
+ },
24
+ "peerDependencies": {
25
+ "effect": ">=3.0.0 <4.0.0"
26
+ },
27
+ "dependencies": {
28
+ "@aws-sdk/client-cognito-identity-provider": "^3"
29
+ },
30
+ "main": "lib/index.js",
31
+ "license": "MIT",
32
+ "homepage": "https://floydspace.github.io/effect-aws",
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "version": "1.0.0",
37
+ "types": "lib/index.d.ts",
38
+ "module": "lib/esm/index.js",
39
+ "sideEffects": [],
40
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
41
+ "scripts": {
42
+ "build": "npx projen build",
43
+ "compile": "npx projen compile",
44
+ "default": "npx projen default",
45
+ "eslint": "npx projen eslint",
46
+ "package": "npx projen package",
47
+ "post-compile": "npx projen post-compile",
48
+ "pre-compile": "npx projen pre-compile",
49
+ "test": "npx projen test",
50
+ "test:watch": "npx projen test:watch",
51
+ "watch": "npx projen watch",
52
+ "docgen": "docgen"
53
+ }
54
+ }
package/project.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@effect-aws/client-cognito-identity-provider",
3
+ "root": "packages/client-cognito-identity-provider",
4
+ "targets": {
5
+ "default": {
6
+ "executor": "nx:run-commands",
7
+ "options": {
8
+ "command": "pnpm exec projen default",
9
+ "cwd": "packages/client-cognito-identity-provider"
10
+ }
11
+ },
12
+ "pre-compile": {
13
+ "executor": "nx:run-commands",
14
+ "options": {
15
+ "command": "pnpm exec projen pre-compile",
16
+ "cwd": "packages/client-cognito-identity-provider"
17
+ }
18
+ },
19
+ "compile": {
20
+ "executor": "nx:run-commands",
21
+ "options": {
22
+ "command": "pnpm exec projen compile",
23
+ "cwd": "packages/client-cognito-identity-provider"
24
+ }
25
+ },
26
+ "post-compile": {
27
+ "executor": "nx:run-commands",
28
+ "options": {
29
+ "command": "pnpm exec projen post-compile",
30
+ "cwd": "packages/client-cognito-identity-provider"
31
+ }
32
+ },
33
+ "test": {
34
+ "executor": "nx:run-commands",
35
+ "options": {
36
+ "command": "pnpm exec projen test",
37
+ "cwd": "packages/client-cognito-identity-provider"
38
+ }
39
+ },
40
+ "package": {
41
+ "executor": "nx:run-commands",
42
+ "options": {
43
+ "command": "pnpm exec projen package",
44
+ "cwd": "packages/client-cognito-identity-provider"
45
+ }
46
+ },
47
+ "build": {
48
+ "executor": "nx:run-commands",
49
+ "options": {
50
+ "command": "pnpm exec projen build",
51
+ "cwd": "packages/client-cognito-identity-provider"
52
+ }
53
+ },
54
+ "watch": {
55
+ "executor": "nx:run-commands",
56
+ "options": {
57
+ "command": "pnpm exec projen watch",
58
+ "cwd": "packages/client-cognito-identity-provider"
59
+ }
60
+ },
61
+ "eslint": {
62
+ "executor": "nx:run-commands",
63
+ "options": {
64
+ "command": "pnpm exec projen eslint",
65
+ "cwd": "packages/client-cognito-identity-provider"
66
+ }
67
+ },
68
+ "test:watch": {
69
+ "executor": "nx:run-commands",
70
+ "options": {
71
+ "command": "pnpm exec projen test:watch",
72
+ "cwd": "packages/client-cognito-identity-provider"
73
+ }
74
+ }
75
+ },
76
+ "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
77
+ }
@@ -0,0 +1,3 @@
1
+ import configShared from "../../vitest.shared";
2
+
3
+ export default configShared;